架构师训练营第 1 期第 12 周作业
1. 在你所在的公司(行业、领域),正在用大数据处理哪些业务?可以用大数据实现哪些价值?
笔者在一家通信设备商,目前没用到大数据,因为隐私的关系,用户数据不允许被搜集。但其实可以用大数据实现按天的流量峰值估计。
2. 分析如下 HiveQL,生成的 MapReduce 执行程序,map 函数输入是什么?输出是什么,reduce 函数输入是什么?输出是什么?
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访问的和
评论