4.8.4 利用Spark SQL实现分组排行榜 本次实战演示使用Spark SQL实现分组排行榜功能。首先将文本文件中的学生成绩数据读取为DataFrame通过split函数分离姓名和成绩字段。接着创建临时视图运用窗口函数ROW_NUMBER()配合PARTITION BY按学生姓名分组ORDER BY按成绩降序排列生成行号。核心步骤是使用CASE WHEN条件聚合将每名学生前3名成绩分别提取到grade1、grade2、grade3三个独立字段中。此方案避免了字符串拼接保持数值类型便于后续计算分析。整个过程涵盖了Spark SQL的核心技术点数据读取转换、窗口函数应用、条件聚合查询等适用于大规模数据的分组TopN统计场景。