Spark SQL案例:分组排行榜

目录

一、提出任务

 二、完成任务

(一)新建Maven项目

(二)添加相关依赖和构建插件

(三)创建日志属性文件

(四)创建分组排行榜单例对象

(五)本地运行程序,查看结果

(六)交互式操作查看中间结果

1、读取成绩文件得到数据集

2、定义成绩样例类

 3、导入隐式转换

 4、创建成绩数据集

5、将数据集转换成数据帧

6、基于数据帧创建临时表

7、查询临时表,实现分组排行榜

8、显示分组排行榜结果

三、可能会出现的问题


一、提出任务

  • 分组求TopN是大数据领域常见的需求,主要是根据数据的某一列进行分组,然后将分组后的每一组数据按照指定的列进行排序,最后取每一组的前N行数据。
  • 有一组学生成绩数据
  • 张三丰 90
    李孟达 85
    张三丰 87
    王晓云 93
    李孟达 65
    张三丰 76
    王晓云 78
    李孟达 60
    张三丰 94
    王晓云 97
    李孟达 88
    张三丰 80
    王晓云 88
    李孟达 82
    王晓云 98
    

  • 同一个学生有多门成绩,现需要计算每个学生分数最高的前3个成绩,期望输出结果如下所示:
  • 张三丰:94
    张三丰:90
    张三丰:87
    李孟达:88
    李孟达:85
    李孟达:82
    王晓云:98
    王晓云:97
    王晓云:93
    

  • 数据表t_grade

  • 执行查询

 

  • 预备工作:启动集群的HDFSSpark

  • 将成绩文件grades.txt上传到HDFS/input目录

 二、完成任务

(一)新建Maven项目

  • 设置项目信息(项目名、保存位置、组编号、项目编号)

  • 单击【Finish】按钮

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值