1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 大数据IMF传奇行动绝密课程第80课:Spark SQL网站搜索综合案例实战

大数据IMF传奇行动绝密课程第80课:Spark SQL网站搜索综合案例实战

时间:2021-06-28 21:33:37

相关推荐

大数据IMF传奇行动绝密课程第80课:Spark SQL网站搜索综合案例实战

1、案例解析

2、案例实战

找出搜索平台上用户每天搜索排名前5名的产品

元数据:Date、User、Item、City、Device

总体思路:混合使用Spark SQL和Spark Core的内容

一、原始的ETL,过滤数据后产生目标数据数据,在实际企业中可能过滤条件非常复杂(进行广播),使用RDD的filter等进行操作;

二、对过滤后的目标数据进行制定条件的查询。查询条件有可能非常复杂(进行广播),使用RDD的filter算子;

三、由于商品是分为种类的,我们在得出最终结果之前,首先会基于商品进行UV,当然也可以对用户访问商品的PV进行分析

此时我们要对商品进行UV计算的话,必须构建K-V的RDD,例如构建成为(date#Item,userID)以方便进行groupByKey操作

在调用了groupByKey之后对user进行去重,并计算出每一天每一种商品的UV,最终计算出来的结果的数据类型(date#Item,UV)

四、使用开窗函数row_number统计出每日商品UV前5名的内容,row_number() OVER (PARTITION BY date ORDER BY uv DESC) rank

此时会产生以date、item、uv为Row的DataFrame

五、DataFrame转成RDD,根据日期进行分组并分析出每天排名前5位的热搜索Item

六、进行Key-Value交换,然后进行调用sortByKey进行点击热度排名

七、再次进行Key-Value交换,得出目标数据(date#Item,UV)

八、通过RDD直接操作Mysql等把结果放入生产系统中的DB中,再通过Java EE等Server技术可视化结果以供市场营销人员、仓储调度系统、快递系统、管理决策人员使用数据创造价值。

当然也可以放在Hive中,Java EE等技术通过JDBC等连接访问Hive,当然也可以就放在Spark SQL中,通过Thrift技术供Java EE使用等;但是像双十一等时候,一般首选放在Redis中,这样可以实现类似秒杀系统的响应速度。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。