本教程将通过一个具体的案例来演示如何在Spark SQL中基于数据帧进行SQL查询。我们将从创建临时视图开始,然后使用spark对象执行SQL查询,包括投影、选择、统计和排序等操作。
具体步骤如下:
-
基于数据帧创建临时视图:
- 命令格式:
df.createTempView()
或df.createOrReplaceTempView()
- 案例演示:执行命令
stuDF.createOrReplaceTempView("student")
- 命令格式:
-
使用spark对象执行SQL查询:
- 命令格式:
spark.sql("sql语句")
- 案例演示:
- 查询全部学生记录:
spark.sql("select * from student").show
- 显示学生表结构:
spark.sql("describe student").show
- 对学生表进行投影操作:
spark.sql("select name, age from student").show
- 选择操作:查询19岁以上学生记录,查询20岁以上女生记录
- 统计操作:统计学生总记录数,分组统计男女生总年龄、平均年龄、最大年龄和最小年龄
- 排序操作:按年龄升序排列,按年龄降序排列,先按性别升序排列再按年龄降序排列
- 查询全部学生记录:
- 命令格式:
通过以上步骤,我们可以在Spark SQL中使用SQL查询对数据帧进行各种操作,实现数据的分析和处理。