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