- 一、提出任务
- 二、涉及知识点
- 三、完成任务
- (一)新建Maven项目
- (二)添加相关依赖和构建插件
- (三)创建日志属性文件
- (四)创建分组排行榜单例对象
- 分组求分组求TopN是大数据领域常见的需求,主要是根据数据的某一列进行分组,然后将分组后的每一组数据按照指定的列进行排序,最后取每一组的前N行数据。
学生成绩数据:
张三丰 90 李孟达 85 张三丰 87 王晓云 93 李孟达 65 张三丰 76 王晓云 78 李孟达 60 张三丰 94 王晓云 97 李孟达 88 张三丰 80 王晓云 88 李孟达 82 王晓云 98
- 执行查询
- 预备工作:启动集群的HDFS与Spark
- 将成绩文件-grades.txt上传到HDFS上/input 目录
1、开窗函数概述
- Spark1.5.x版本以后,在Spark
SQL和DataFrame中引入了开窗函数,其中比较常用的开窗函数就是row_number(),该函数的作用是根据表中字段进行分组,然后根据表中的字段排序;其实就是根据其排序顺序,给组中的每条记录添加一个序号,且每组序号都是从1开始,可利用它这个特性进行分组取topN。
2、开窗函数格式
- 将Java目录改为Scala目录



