带你将Spark中的集合类和文件转化成DataFrame对象
目录
前言
Spark 为结构化数据引入了SparkSql模块,该模块将RDD对象转化为DataFrame对象。我们可以使用SQL语言操作DataFrame对象,或者使用DataFrame的成员方法操作DataFrame对象。DataFrame对象相当于数据库中的一张二维表,它只提供读操作,不能添加或修改和删除数据。
本篇以Spark3.0为例介绍DataFrame方法的使用,可供开发、运维人员参考。若想了解更多,可以参考官网网站:
http://spark.apache.org/docs/3.0.0/sql-getting-started.html
如何将RDD对象转化为DataFrame对象
-
RDD对象实例的toDF方法
RDD对象实例的toDF方法,可以将一个RDD对象转化为DataFrame对象。RDD对象数据集可以从本地磁盘文件获取,也可以从HDFS获取,或者从Array、List获取
注:
此处用到了SparkSql的隐式转换
import sqc.implicits._
res33.toDF("id","name")
若隐式转换不起作用,可以采用
-
JSON格式文件直接转化为DF对象
Spark3.0版本的SparkSql模块的入口点是SparkSession对象,首先需要创建一个SparkSession对象
下面用API方式把JSON文件转化为DF对象,可以直接复制到Shell窗口执行
-
数据库中二维表格直接转化为DF对象
如何在Spark2版本转化DataFrame对象