写点什么

十二周作业

用户头像
Linuxer
关注
发布于: 2020 年 09 月 01 日



  • 分析如下 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的输入  key为文件的偏移,value为一行数据

map的输出为 key为 userid, value 为<tableid, pageid>/<tableid,age>



 reduce的输入为 map输出的 key/value对,在输入之前应该要按 tableid排序,输出为join的结果

设想可能的运行过程是 如果tableid不变则追加到一个容器中, tableid切换时就循环前面的容器,如果 userid相等时,就输出一组  pageid, age



用户头像

Linuxer

关注

还未添加个人签名 2018.06.12 加入

还未添加个人简介

评论

发布
暂无评论
十二周作业