4.8.4 利用Spark SQL实现分组排行榜

在本次实战中,我们的目标是利用Spark SQL实现分组排行榜,特别是计算每个学生分数最高的前3个成绩。任务的原始数据由一组学生成绩组成,每个学生可能有多个成绩记录。我们首先将这些数据读入Spark DataFrame,然后按学生姓名分组,并使用窗口函数对学生成绩进行降序排序。通过row_number()函数为每个分组的成绩分配行号,筛选出行号小于等于3的记录,即为每个学生分数最高的前3个成绩。在实现过程中,我们采用了交互式编程和Spark项目两种方式。在交互式编程中,我们通过Spark SQL查询实现分组排行榜,并将结果按指定格式输出。在Spark项目中,我们创建了Maven项目,添加了相关依赖,配置了Scala SDK,并设置了日志和HDFS配置文件。通过编写Scala代码,我们实现了成绩的读取、转换、统计,并在控制台输出了结果。

相关推荐
howard200519 天前
4.7 Spark SQL函数分类与应用
开窗函数·spark sql·自定义函数·内置函数
howard200525 天前
4.2.2 Spark SQL数据源 - 手动指定数据源格式
spark sql·手动指定数据源格式
howard200525 天前
4.2.1 Spark SQL数据源 - 初探默认数据源格式
spark sql·默认数据源格式
howard20051 个月前
4.1 Spark SQL数据帧与数据集
数据集·spark sql·数据帧
AllData公司负责人3 个月前
AIIData数据中台演示干货!实时开发平台(StreamPark) Spark SQL可视化实操流程
可视化·spark sql·streampark