带你将Spark中的集合类和文件转化成DataFrame对象

目录

前言

如何将RDD对象转化为DataFrame对象

RDD对象实例的toDF方法

JSON格式文件直接转化为DF对象

数据库中二维表格直接转化为DF对象

如何在Spark2版本转化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获取

带你将Spark中的集合类和文件转化成DataFrame对象

 

注:

此处用到了SparkSql的隐式转换

import sqc.implicits._

res33.toDF("id","name")

若隐式转换不起作用,可以采用

带你将Spark中的集合类和文件转化成DataFrame对象

 

  • JSON格式文件直接转化为DF对象

Spark3.0版本的SparkSql模块的入口点是SparkSession对象,首先需要创建一个SparkSession对象

 

带你将Spark中的集合类和文件转化成DataFrame对象

下面用API方式把JSON文件转化为DF对象,可以直接复制到Shell窗口执行

带你将Spark中的集合类和文件转化成DataFrame对象

 

  • 数据库中二维表格直接转化为DF对象

带你将Spark中的集合类和文件转化成DataFrame对象

如何在Spark2版本转化DataFrame对象

带你将Spark中的集合类和文件转化成DataFrame对象