写点什么

架构师训练营作业 -- Week 12

用户头像
吴炳华
关注
发布于: 2020 年 09 月 08 日
架构师训练营作业 -- Week 12

分析如下 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函数的输入:

  1. page_view 表

  • key: record id(PK)

  • object: 一行记录

  1. user 表

  • key: record id(PK)

  • object: 一行记录

map函数的输出:

<userId, pageId>和<userId, age>键值对。



reduce函数的输入:map函数输出的键值对,经过shuffle之后,按userId合并后的二维值数组。例如,[[1,25], [2,25]],



reduce函数的输出:合并所有的二维值数组。结果如下:

[1, 25], [2, 25], [1, 32]



发布于: 2020 年 09 月 08 日阅读数: 42
用户头像

吴炳华

关注

还未添加个人签名 2020.04.08 加入

还未添加个人简介

评论

发布
暂无评论
架构师训练营作业 -- Week 12