本地文件系统的数据读写
val textFile=sc.textFile("file:/// path")
分布式文件系统HDFS的数据读写
读取hdfs 文件的语法执行上面语句后,就可以看到HDFS文件系统中(不是本地文件系统)的word.txt的第一行内容了。需要注意的是,sc.textFile("hdfs://localhost:9000/user/hadoop/word.txt")中,“hdfs://localhost:9000/”是前面介绍Hadoop安装内容时确定下来的端口地址9000。实际上,也可以省略不写,如下三条语句都是等价的:
如图所示不同文件格式的读写
文本文件
=======================================================
当我们给textFile()函数传递一个“包含完整路径的文件名”时,就会把这个文件加载到RDD中。如果我们给textFile()函数传递的不是文件名,而是一个目录,则该目录下的所有文件内容都会被读取到RDD中。
JSON
=======================================================
json
读取json文件
从上面执行结果可以看出,people.json文件加载到RDD中以后,在RDD中存在三个字符串。我们下面要做的事情,就是把这三个JSON格式的字符串解析出来,比如说,第一个字符串{"name":"Michael"},经过解析后,解析得到key是"name",value是"Michael"。
网友评论