写点什么

架构师训练营 1 期第 12 周:数据应用(一)- 作业

用户头像
piercebn
关注
发布于: 2020 年 12 月 12 日

一、在你所在的公司(行业、领域),正在用大数据处理哪些业务?可以用大数据实现哪些价值?  


大数据应用领域

  • 业务领域,做用户画像分析,用户行为偏好分析,做个性化推荐,智能营销

  • 运维领域,对应用访问数据分析,包括流量,性能指标等,做性能预警和资源调度优化


二、分析如下 HiveQL,生成的 MapReduce 执行程序,map 函数输入是什么?输出是什么,reduce 函数输入是什么?输出是什么?

INSERT OVERWRITE TABLE pv_usersSELECT pv.pageid, u.ageFROM page_view pv   JOIN user u   ON (pv.userid = u.userid);
复制代码

page_view 表和 user 表结构与数据示例如下

  • map 的输入是每一行表记录,因为要把相同 userid 的 pageid 和 age 进行合并,所以 map 输出的 key 是 userid,value 为表编号和 pageid 或 age 的二元组,针对 page_view 的 value 是<page_view 表编号,pageid>,针对 user 的 value 是<user 表编号,age>

  • 经过 shuffle sort 后,到达 reduce 阶段,相同的 userid 被分配到同一个 reduce 函数进行处理,所以 reduce 的输入的 key 是 userid,values 是对应 key 的所有二元组数据,在 reduce 中,将 page_view 表的每条数据和 user 表的数据进行连接输出,输出是 pageid 和 age 的二元组数据,构成了 pv_user 的输出结果


发布于: 2020 年 12 月 12 日阅读数: 25
用户头像

piercebn

关注

还未添加个人签名 2019.07.24 加入

还未添加个人简介

评论

发布
暂无评论
架构师训练营 1 期第 12 周:数据应用(一)- 作业