一、实战:TopN主播统计
在前面讲Spark core的时候我们讲过一个案例,TopN主播统计,计算每个大区当天金币收入TopN的主播,之前我们使用spark中的transformation算子去计算,实现起来还是比较麻烦的,代码量相对来说比较多,下面我们就使用咱们刚学习的Spark sql去实现一下,你会发现,使用sql之后确实简单多了。
回顾以下我们的两份原始数据,数据都是json格式的
video_info.log 主播的开播记录,其中包含主播的id:uid、直播间id:vid 、大区:area、视频开播时长:length、增加粉丝数量:follow等信息
gift_record.log 用户送礼记录,其中包含送礼人id:uid,直播间id:vid,礼物id:good_id,金币数量:gold 等信
最终需要的结果是这样的
US 8407173251015:180,8407173251012:70,8407173251001:60
1、分析一下具体步骤
1、直接使用SparkSession中的load方式加载json的数据
2、对这两份数据注册临时表
3、执行sql计算TopN主播
4、使用foreach将结果打印到控制台
2、数据准备
主播开播记录数据如下:
video_info.log
{"uid":"8407173251001","vid":"