位置: 编程技术 - 正文
推荐整理分享Spark SQL数据加载和保存实例讲解(spark sql add jar),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:spark-sql -d,spark sql oom,spark.sql,spark sql -e,spark.sql,spark sql in,spark.sql,spark.sql,内容如对您有帮助,希望把文章链接给更多的朋友!
一、前置知识详解 Spark SQL重要是操作DataFrame,DataFrame本身提供了save和load的操作, Load:可以创建DataFrame, Save:把DataFrame中的数据保存到文件或者说与具体的格式来指明我们要读取的文件的类型以及与具体的格式来指出我们要输出的文件是什么类型。
二、Spark SQL读写数据代码实战
读取过程源码分析如下: 1. read方法返回DataFrameReader,用于读取数据。
2. 然后再调用DataFrameReader类中的format,指出读取文件的格式。
3. 通过DtaFrameReader中load方法通过路径把传入过来的输入变成DataFrame。
至此,数据的读取工作就完成了,下面就对DataFrame进行操作。 下面就是写操作!!!
1. 调用DataFrame中select函数进行对列筛选
2. 然后通过write将结果写入到外部存储系统中。
3. 在保持文件的时候mode指定追加文件的方式
4. 最后,save()方法触发action,将文件输出到指定文件中。
三、Spark SQL读写整个流程图如下
四、对于流程中部分函数源码详解
DataFrameReader.Load()
1. Load()返回DataFrame类型的数据集合,使用的数据是从默认的路径读取。
2. 追踪load源码进去,源码如下:在DataFrameReader中的方法。Load()通过路径把输入传进来变成一个DataFrame。
3. 追踪load源码如下:
DataFrameReader.format()
1. Format:具体指定文件格式,这就获得一个巨大的启示是:如果是Json文件格式可以保持为Parquet等此类操作。 Spark SQL在读取文件的时候可以指定读取文件的类型。例如,Json,Parquet.
DataFrame.write()
1. 创建DataFrameWriter实例
2. 追踪DataFrameWriter源码如下:以DataFrame的方式向外部存储系统中写入数据。
DataFrameWriter.mode()
1. Overwrite是覆盖,之前写的数据全都被覆盖了。 Append:是追加,对于普通文件是在一个文件中进行追加,但是对于parquet格式的文件则创建新的文件进行追加。
2. 通过模式匹配接收外部参数
DataFrameWriter.save()
1. save将结果保存传入的路径。
2. 追踪save方法。
3. 其中source是SQLConf的defaultDataSourceNameprivate var source: String = df.sqlContext.conf.defaultDataSourceName其中DEFAULT_DATA_SOURCE_NAME默认参数是parquet。
DataFrame.scala中部分函数详解:
1. toDF函数是将RDD转换成DataFrame
2. show()方法:将结果显示出来
追踪showString源码如下:showString中触发action收集数据。
上一篇:如何验证会员系统中用户的邮箱是否真实存在(验证vip)
友情链接: 武汉网站建设