本教程将通过一个具体的案例来演示如何在Spark SQL中操作数据帧。我们将从获取学生数据帧开始,包括两种方法:一是由数据集转换而来,二是直接读取文件生成数据帧。然后,我们将对数据帧进行各种操作,如投影、过滤、统计和排序等。
具体步骤如下:
-
由数据集转换而来的方法
- 前提是添加了元数据的数据集。
- 调用数据集的
toDF()
方法得到数据帧。 - 查看数据帧的结构和内容。
-
直接读取文件生成数据帧的方法
- 利用spark.read成员的
option().csv()
方法读取文本文件生成数据帧。 - 查看学生数据帧的内容。
- 因为学生文件第一行不是表头,所以生成的数据帧字段名是系统自动生成的。
- 修改学生数据帧默认字段名。
- 查看学生数据帧的内容和结构。
- 修改数据帧字段类型。
- 数据帧改名。
- 利用spark.read成员的
-
操作学生数据帧
- 显示数据帧内容和模式。
- 对学生数据帧进行投影操作,如显示姓名与年龄字段。
- 对学生数据帧进行过滤操作,如查询全部女生记录和20岁以上女生记录。
- 对学生数据帧进行统计操作,如统计总记录数、分组统计男女生总年龄、平均年龄、最大年龄和最小年龄等。
- 对学生数据帧进行排序操作,如按年龄升序排列、按年龄降序排列、先按性别升序排列再按年龄降序排列等。