Spark学习之数据读取与保存(4)
Spark学习之数据读取与保存(4)
1. 文件格式
Spark对很多种文件格式的读取和保存方式都很简单。 如文本文件的非结构化的文件,如JSON的半结构化文件,如SequenceFile结构化文件。通过扩展名进行处理。
2. 读取/保存文本文件
Python中读取一个文本文件
input = sc.textfile("file:///home/holen/repos/spark/README.md") Scala中读取一个文本文件 val input = sc.textFile("file:///home/holen/repos/spark/README.md") Java中读取一个文本文件 JavaRDD<String> input = sc.textFile("file:///home/holen/repos/spark/README.md")
saveAsTextFile()方法用了保存为文本文件
3. 读取/保存JSON文件
Python中读取JSON文件
import json data = input.map(lambda x: json.loads(x)) Python中保存为JSON文件 (data.filter(lambda x: x["lovesPandas"]).map(lambda x: json.dumps(x))) .saveAsTextFile(outputFile)
4. Spark SQL中的结构化数据
结构化数据指的是有结构信息的数据————也就是所有的数据记录都有具有一致字段结构的集合。 在各种情况下,我们把一条SQL查询给Spark SQL,让它对一个数据源执行查询,然后得到由Row对象组成的RDD,每个Row对象表示一条记录。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Spark学习之键值对(pair RDD)操作(3)
Spark学习之键值对(pair RDD)操作(3) 1. 我们通常从一个RDD中提取某些字段(如代表事件时间、用户ID或者其他标识符的字段),并使用这些字段为pair RDD操作中的键。 2. 创建pair RDD 1)读取本身就是键值对的数据 2)一个普通的RDD通过map()转为pair RDD,传递的函数需要返回键值对。 Python中使用第一个单词作为键创建出一个pair RDD pairs = lines.amp(lambda x: (x.split(" ")[0],x)) Scala中使用第一个单词作为键创建出一个pair RDD val pairs = lines.map(x=>(x.split(" ")(0),x)) 3. pair RDD的转化操作 pair RDD可以使用所有标准RDD上的可能的转化操作,还有其他如下 reduceBykey(func) 合并具有相同键的值 groupByke() 对具有相同键的值进行分组 combineByKey( 使用不同的的返回类型合并具有相同键的值 createCombiner, mergeValue, mergCom...
- 下一篇
Hadoop平台配置汇总
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq1010885678/article/details/50524657 Hadoop平台配置汇总 @(Hadoop) Hadoop hadoop-env.sh和yarn-env.sh中export log和pid的dir即可和JAVA_HOME。 core-site.xml <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://ns1</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/data2/hadoop/tmp</value> </property> <property> <name>ha.zookeeper.quorum</name&...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Hadoop3单机部署,实现最简伪集群
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- CentOS关闭SELinux安全模块
- CentOS7设置SWAP分区,小内存服务器的救世主
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- 设置Eclipse缩进为4个空格,增强代码规范
- Docker快速安装Oracle11G,搭建oracle11g学习环境