写点什么

第 12 周作业

用户头像
Jack
关注
发布于: 2021 年 01 月 10 日

分析如下 HiveQL,生成的 MapReduce 执行程序,map 函数输入是什么?输出是什么,reduce 函数输入是什么?输出是什么?

INSERT OVERWRITE TABLE pv_usersSELECT pv.pageid, u.ageFROM page_view pv   JOIN user u   ON (pv.userid = u.userid);
复制代码

回答:

1、Map 函数输入的是 page_view 和 user 表里面的原始数据。

2、Map 函数输出的是根据原始数据,转换出来了 table,由于是需要做 2 表关联,所以 key 我们选择的是关联字段 userid,value 选择根据表不同而不同;

page_view 的 value 选择的是由表名 pv 和 pageid 组成的集合。

user 的 value 选择的是由表名 user 和 age 组成的集合。

3、经过 shuffle sort 处理,将相同 key 的数据整合到一个集合里面。

4、reduce 函数输入的是经过 shuffle sort 处理,将相同 key 放在一起的集合。

5、reduce 函数输出的是每张表相同的 key 要进行 join 操作,最后把结果输出。


总结


用户头像

Jack

关注

还未添加个人签名 2018.03.08 加入

还未添加个人简介

评论

发布
暂无评论
第12周作业