zhanglin200508的专栏

技术改变生活

day80sparkSQL网站搜索综合实例


目的:找出搜索平台上用户明天搜索排名前五名的产品

1、原始的ETL过滤数据后产生目标数据

广播的原理,过滤是发生在work

2、对过滤后的目标数据进行指定条件的查询,查询条件又可能非常复杂(进行广播(广播过滤条件)),进行RDD的filter的算子;

3、对于商品时分为种类的,我们在得出最终结果之前,首先会基于商品UV(对于用户访问商品的PV)

  此时我们要对商品进行UV计算的话,必须构建K-V的RDD,例如过程构建成为(date#Item(性能考虑字段组拼), userID)以方便进行grouoByKey的操作。

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

4、使用开窗函数row_number 统计出每日商品UV前5名的内容row_number() over (parition By date order by uv desc ) rank

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

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

6、进行key-value交换,然后进行调用sortBykey进行电击热度排名

7再次进行key-value交换,得出目标数据,得出目标数据(date#item, UV)的格式

8、通过RDD直接操作Mysql吧结果放入生产系统中的DB中,通过javaee 等servlet技术实现先可视化结果供市场营销人员、调度仓库、管理人员使用数据

当然可以放在hive中,JavaEE等技术通过JDBC等连接访问hive;

可以放在sparkSQL中,通过 Thrift技术提供JavaEE 使用等。

如果是双十一的时候一般首选放在redis中,这样可以实现类似秒杀系统的响应速度

阅读更多
个人分类: spark
想对作者说点什么? 我来说一句

网站开发实例

2013年03月08日 14.2MB 下载

简单的php网站实例

2015年05月10日 9KB 下载

JavaScript练习实例

2011年11月19日 524KB 下载

ASP.NET2.0 综合网站(上传)

2009年06月23日 3.72MB 下载

制新闻发布网站

2013年11月16日 2MB 下载

Java综合经典实例大全

2008年11月29日 13.04MB 下载

没有更多推荐了,返回首页

不良信息举报

day80sparkSQL网站搜索综合实例

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭