写点什么

架构师培训 -12 hadoop

用户头像
刘敏
关注
发布于: 2020 年 09 月 02 日

1.写出下题的map,reduce函数输入和输出分别是什么?

  • 分析如下 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的输出value为不同表的数据打上不同的tag标记,在reduce阶段根据tag判断数据来自哪张表。具体流程如下:

从上图中可以看出

map 输入是两张表的记录,输出 key是userid,value是表的标记tag和pageid。

reduce输入map的输出(shuffle sort后的),输出是根据userid关联后从两个表中分别取出的pageid和age值。

用户头像

刘敏

关注

还未添加个人签名 2018.04.25 加入

还未添加个人简介

评论

发布
暂无评论
架构师培训 -12 hadoop