第 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);
map函数输入两个文件
第一个文件
page_view文件,假设格式以逗号分隔
pageid,userid,time
第二个文件
user文件,假设格式以逗号分隔
userid,age,gender
map输出
第一个文件
page_view文件,假设格式以逗号分隔
key 为:userid
value为:page_pageid
第二个文件
user文件,假设格式以逗号分隔
key 为:userid
value为:user_age
reduce函数
reduce输入
key为userid
value关于page_pageid和user_age的一个value list
通过遍历value list 根据page_和user_的前缀,将pageid和age进行合并,组合成格式为pageid,age。
reduce输出
userid,pageid,age
评论