大数据IMF传奇行动绝密课程第80课:Spark SQL网站搜索综合案例实战
来源:互联网 发布:mac系统剪切快捷键 编辑:程序博客网 时间:2024/04/30 16:21
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中,这样可以实现类似秒杀系统的响应速度。
- 大数据IMF传奇行动绝密课程第80课:Spark SQL网站搜索综合案例实战
- 大数据IMF传奇行动绝密课程第67课:spark SQL案例综合实战
- 大数据IMF传奇行动绝密课程第75-79课:Spark SQL基于网站Log的综合案例实战
- 大数据IMF传奇行动绝密课程第100-101课:使用Spark Streaming+Spark SQL+Kafka+FileSystem综合案例
- 大数据IMF传奇行动绝密课程第69课:Spark SQL通过Hive数据源实战
- 大数据IMF传奇行动绝密课程第73课:Spark SQL Thrift Server实战
- 大数据IMF传奇行动绝密课程第104-114课:Spark Streaming电商广告点击综合案例
- 大数据IMF传奇行动绝密课程第61课:Spark SQL数据加载和保存内幕深度解密实战
- 大数据IMF传奇行动绝密课程第57课:Spark SQL on Hive配置及实战
- 大数据IMF传奇行动绝密课程第70课:Spark SQL内置函数解密与实战
- 大数据IMF传奇行动绝密课程第71课:Spark SQL窗口函数解密与实战
- 大数据IMF传奇行动绝密课程第72课:Spark SQL UDF和UDAF解密与实战
- 大数据IMF传奇行动绝密课程第65课:Spark SQL下Parquet深入进阶
- 大数据IMF传奇行动绝密课程第68课:Spark SQL通过JDBC操作MySQL
- 大数据IMF传奇行动绝密课程第87课:Flume推送数据到Spark Streaming案例实战和内幕源码解密
- 大数据IMF传奇行动绝密课程第82课:Spark Streaming案例动手实战并在电光石火间理解其工作原理
- 大数据IMF传奇行动绝密课程第85课:基于HDFS的SparkStreaming案例实战和内幕源码解密
- 大数据IMF传奇行动绝密课程第90课:SparkStreaming基于Kafka Receiver案例实战和内幕源码解密
- Mybatis实现原理深入解析
- DSA和ECDSA算法
- Thread的run()与start()的区别
- Linux下安装Nginx
- WSDL 详解
- 大数据IMF传奇行动绝密课程第80课:Spark SQL网站搜索综合案例实战
- [.net 面向对象程序设计深入](26)Redis——基础
- 欢迎使用CSDN-markdown编辑器之学习
- 关于z-index
- 基于DragonBoard 410c的家庭智能环保卫士——(6)kobuki位置信息传输及显示
- GYM 100883 H.tourists(一元线性同余方程)
- mysql5.7中解决中文乱码的问题
- JavaSE 学习参考:接口
- HeadFirst设计模式学习笔记