写点什么

架构师课作业 - 第十二周

用户头像
Tulane
关注
发布于: 2020 年 09 月 07 日
  • 分析如下 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 表结构与数据示例如下:





map输入: (偏移量, 数据行)



map程序:

  • 抽取行内关键字段, 如userid, pageid, age, 以及虚拟字段 tableid

  • tableid 表示表的来源, user 表与 page_view 表的 tableid 不同



map输出: <userid, <tableid,pageid>> 或者 <userid, <tableid, age>>



reduce输入: <userid, <tableid, pageid>> 集合 与 <userid, <tableid, age>> 集合)

  • 所有 key(userid) 相同的数据, 不论来自哪个 tableid 的



reduce输出: <pageid, age> 集合



用户头像

Tulane

关注

还未添加个人签名 2018.09.18 加入

还未添加个人简介

评论

发布
暂无评论
架构师课作业 - 第十二周