十二周作业
2 、分析如下 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 函数输入的是 key value。 key 是偏移量,value 是一行记录<userid,pageid>或<userid,age>,
page_view 表一次 map 操作输入的 value 值是<userid,pageid>,user 表一次 map 操作输入的 value 值是<userid,age>
map 函数输出是 key value。key 是 userid, value 是 <表编号,pageid> 或 <表编号,age>,page_view 表一次 map 操作输出的 value 值是<表编号,pageid>,user 表一次 map 操作输出的 value 值是<表编号,age>
reduce 函数输入是 key values。key 是 userid , values 是相同 userid 合并的 value 列表: <表编号,pageid> <表编号,age>
| key | values
| 111 | <1,1> <1,2> <2,25>
| 222 | <1,1> <2,32>
reduce 输出是不同表的 value 进行 jion 的结果
| 1 | 25 |
| 2 | 25 |
| 1 | 32 |
评论