Structured_Source_HDFS_生成并上传文件到 HDFS | 学习笔记

简介: 快速学习 Structured_Source_HDFS_生成并上传文件到 HDFS

开发者学堂课程【大数据Spark2020版(知识精讲与实战演练)第五阶段:Structured_Source_HDFS_生成并上传文件到 HDFS】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/692/detail/12149


Structured_Source_HDFS_生成并上传文件到 HDFS

内容介绍:

一、目标和步骤常用字段

二、代码编写

三、总结

 

一、目标和步骤

1.目标

通过学习 Python 的大致语法,并了解 Python 如何编写脚本完成文件的操作,其实不同的语言使用起来并没有那么难,完成一些简单的任务还是很简单的。

2.步骤

(1)创建 Python 代码文件

(2)编写代码

(3)本地测试,但是因为本地环境搭建比较浪费大家时间,所以暂时不再本地测试

 

二、代码编写

随便在任一目录中创建文件 gen_files.py ,编写以下内容

Import os

for index in range( 100) :

content = """

{ "name": "Michael"}

{ "name" : "Andy" , "age" :30}

{ "name" : "Justin" , "age" : 19}

file name = "lexport/dataset/text{0} .json".format (index)

with open(file_name, "w" ) as file:

file.write( content)

os.system( " lexport/lservers/hadoop/bin/hdfs dfs -mkdir -p /dataset/dataset/")

os.system( " /  export/servers/hadoop/bin/hdfs dfs -put {0)

/dataset/dataset/ " .format(file_ name))

import os

(引入 os)

for index in range( 100) :

(python 在没有{ ,要表示后面的代码在循环内,使用缩进表示)

//1.文件内容

content = """

{"name":"Michael"}

{ "name":"Andy", "age":30}

{"name":"Justin", "age":19}

"""

//2.文件路径

file_name = "/export/dataset/text{0}.json".format(index)

( index 是 for 循环中的 i)

//3.打开文件,写入内容

with open(file_name,"w") as file: ①

file.write(content)

//4.执行 HDFS 命令,创建 HDFS 目录,上传到 HDFS 中

os.system("/export/servers/hadoop/bin/hdfs dfs -mkdir -p /dataset/dataset/")

(执行系统命令,/export/servers/hadoop/bin/hdfs dfs -mkdir -p /dataset/dataset/目录)

os.system( "/export/servers/hadoop/bin/hdfs dfs -put {0}

/dataset/dataset/".format(file_name ) )

字符串通过外部传入,{0} 是占位符

将文件上传到集群中

①创建文件,使用这样的写法是因为 with 是一种 Python 的特殊语法,如果使用 with 去创建文件的话,使用结束后会自动关闭流。

将文件上传到集群中,找到 apache01 ,进入用户目录下,左侧进行 Upload to current folder ,找到 Spark ,将 gen_files.py 代码传入,查看,使用 python 命令执行 gen_files.py 文件,将文件中的中文删掉,重新执行,创建文件。

执行中存在一点问题,把中文去掉保存就可以,创建文件成功

进入浏览器,搜索 node01://50070,打开目录,找 dataset ,再找 dataset ,文件生成即成功。

 

三、总结

1.Python 的语法灵活而干净,比较易于编写

大数据中会用到 python ,如 spark 等等工具,都可以使用 python 进行操作

2. 对于其它的语言可以玩乐性质的去使用,其实并没有很难

把文件上传到 HDFS 中,源源不断的上传,可以通过 Structured Streaming 读取文件进行流式的处理

相关文章
|
存储 分布式计算 负载均衡
Hadoop学习笔记(二)之HDFS
Hadoop学习笔记(二)之HDFS
HDFS基本命令及上传文件API
HDFS基本命令及上传文件API
107 0
|
6月前
|
存储 机器学习/深度学习 分布式计算
Hadoop学习笔记(HDP)-Part.12 安装HDFS
01 关于HDP 02 核心组件原理 03 资源规划 04 基础环境配置 05 Yum源配置 06 安装OracleJDK 07 安装MySQL 08 部署Ambari集群 09 安装OpenLDAP 10 创建集群 11 安装Kerberos 12 安装HDFS 13 安装Ranger 14 安装YARN+MR 15 安装HIVE 16 安装HBase 17 安装Spark2 18 安装Flink 19 安装Kafka 20 安装Flume
175 0
Hadoop学习笔记(HDP)-Part.12 安装HDFS
|
6月前
|
存储 SQL 分布式计算
Hadoop(HDFS+MapReduce+Hive+数仓基础概念)学习笔记(自用)
Hadoop(HDFS+MapReduce+Hive+数仓基础概念)学习笔记(自用)
520 0
|
机器学习/深度学习 移动开发 分布式计算
配置 HDFS-配置 core-site-hdfs-size 以及 env.sh 等配置文件|学习笔记
快速学习配置 HDFS-配置 core-site-hdfs-size 以及 env.sh 等配置文件
|
存储 缓存 分布式计算
HDFS(二)|学习笔记
快速学习 HDFS(二)
155 0
HDFS(二)|学习笔记
|
SQL JSON 负载均衡
离线同步 mysql 数据到 HDFS2 | 学习笔记
快速学习离线同步 mysql 数据到 HDFS2
188 0
离线同步 mysql 数据到 HDFS2  |  学习笔记
|
SQL 消息中间件 JSON
离线同步 mysql 数据到 HDFS1 | 学习笔记
快速学习离线同步 mysql 数据到 HDFS1
157 0
离线同步 mysql 数据到 HDFS1  |  学习笔记
|
监控 开发工具 开发者
网站流量日志 Flume收集--hdfs--基于文件闲置策略滚动| 学习笔记
快速学习网站流量日志 Flume收集--hdfs--基于文件闲置策略滚动
网站流量日志 Flume收集--hdfs--基于文件闲置策略滚动| 学习笔记
|
存储 分布式计算 负载均衡
HDFS(一)|学习笔记
快速学习 HDFS(一)
109 0
HDFS(一)|学习笔记

热门文章

最新文章