SparkSQL中DataFrame对象的三种访问方式(Shell模式、API和SQL)

目录

Shell模式操作DataFrame对象

查询

带条件查询

排序查询

分组聚合

表连接查询

查看列的属性信息

其它一些方法,比如获取前N条记录、某条记录第N个字段属性值

Shell模型下SQL语句操作DataFrame对象

ScalaAPI方式操作DataFrame对象


Shell模式操作DataFrame对象

SparkSQL中DataFrame对象的三种访问方式(Shell模式、API和SQL)

下面列出DataFrame对象的一些常用方法:

查询

SparkSQL中DataFrame对象的三种访问方式(Shell模式、API和SQL)

带条件查询

SparkSQL中DataFrame对象的三种访问方式(Shell模式、API和SQL)

排序查询

SparkSQL中DataFrame对象的三种访问方式(Shell模式、API和SQL)

分组聚合

SparkSQL中DataFrame对象的三种访问方式(Shell模式、API和SQL)

SparkSQL中DataFrame对象的三种访问方式(Shell模式、API和SQL)

表连接查询

先创建一个待连接的表,作为右边的表

SparkSQL中DataFrame对象的三种访问方式(Shell模式、API和SQL)

SparkSQL中DataFrame对象的三种访问方式(Shell模式、API和SQL)

不指定连接方式,默认inner join查询

SparkSQL中DataFrame对象的三种访问方式(Shell模式、API和SQL)

左外连接

SparkSQL中DataFrame对象的三种访问方式(Shell模式、API和SQL)

右外连接

SparkSQL中DataFrame对象的三种访问方式(Shell模式、API和SQL)

查看列的属性信息

SparkSQL中DataFrame对象的三种访问方式(Shell模式、API和SQL)

其它一些方法,比如获取前N条记录、某条记录第N个字段属性值

SparkSQL中DataFrame对象的三种访问方式(Shell模式、API和SQL)

Shell模型下SQL语句操作DataFrame对象

首先我们通过Sparkssession对象复制出一张新表。

Spark2版本通过dataFrame.registerTempTable(“表名称”)创建一个新表。

Spark3版本通过dataFrame.createTempView(“视图名称“)创建一个视图

下面是通过SQL操作我们视图的一些用例:

SparkSQL中DataFrame对象的三种访问方式(Shell模式、API和SQL)

ScalaAPI方式操作DataFrame对象

API方式和Shell模式下操作没区别,唯一注意的是Spark2和Spark3在API版本上的差异

SparkSQL中DataFrame对象的三种访问方式(Shell模式、API和SQL)