12 周作业
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>
| key | value |
| ------ | ------- |
| 偏移量 | <111,1> |
| 偏移量 | <111,2> |
| 偏移量 | <222,1> |
| key | value |
| ------ | -------- |
| 偏移量 | <111,25> |
| 偏移量 | <222,32> |
map 函数输出是 key value。key 是 userid, value 是 <表编号,pageid> 或 <表编号,age>
| key | value |
| ---- | ------ |
| 111 | <1,1> |
| 111 | <1,2> |
| 222 | <1,1> |
| 111 | <2,25> |
| 222 | <2,32> |
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 |
| | |
评论