写点什么

Week 12 作業

用户头像
Christy LAW
关注
发布于: 2020 年 12 月 14 日

作业:

(至少完成一个)

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

  • 分析如下 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 表结构与数据示例如下



MapReduce 的输出流程图:


第一张表

Map 输入:

key 是偏移量,不重要。

value 就是一行记录。key 是 userId,value 是<来源于哪张表 id,pageId>


Map 输出:

输出结果:key是 userId, value是<来源于哪张表 id, pageId>


第二张表

Map 输入:

key 是偏移量,不重要。

value 就是一行记录。key 是 userId,<user 表的 id,age>


Map 输出:

输出结果:key是 userId, value是<来源于哪张表 id, age>


Shuffle Sort:相同的 key 放在一起。


Reduce 输入:

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

key 就是 Map 输出的<来源于哪张表 id, pageId>, <来源于哪张表 id, age> , values 就是 userId 组成的 list。


Reduce 输出:

key 是 Map 输出的<来源于哪张表 id, pageId>, <来源于哪张表 id, age>,result 就是 pageId 访问的和。


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

Christy LAW

关注

Christy | Software Engineer 2020.03.19 加入

Github : https://github.com/christypacc21

评论

发布
暂无评论
Week 12 作業