写点什么

架构师训练营第 1 期第 12 周作业

用户头像
好吃不贵
关注
发布于: 2020 年 12 月 13 日
架构师训练营第 1 期第 12 周作业

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

笔者在一家通信设备商,目前没用到大数据,因为隐私的关系,用户数据不允许被搜集。但其实可以用大数据实现按天的流量峰值估计。

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



INSERT OVERWRITE TABLE pv_users
SELECT pv.pageid, u.age
FROM page_view pv
JOIN user u
ON (pv.userid = u.userid);

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



MapReduce 的输出流程图如下:

第一张表

map函数的输入是key, value,其中key是userid,value是一个二元组<来源表的id, pageId>。map输出是key, value,其中key是userid,value是一个二元组<来源表的id,pageId>。

第二张表

map函数的输入是key,value,其中key是userid,value是一个二元组<来源表的id,age>,map输出是key,value,其中key是userid, 而value是<来源表的id,age>。



Shuffle洗牌:把相同的key放到一起。



Reduce输入:

每张表相同的 key进行join操作,最后输出结果。

key是两个Map输出的<来源表的id,pageId>,<来源表的id,age>,values就是userid组成的list。

Reduce输出:

key是Map输出的<userid, pageid>, <userid, age>, results是pageid访问的和

用户头像

好吃不贵

关注

还未添加个人签名 2018.11.20 加入

还未添加个人简介

评论

发布
暂无评论
架构师训练营第 1 期第 12 周作业