架构师训练营第十二章作业
分析如下 HiveQL,生成的 MapReduce 执行程序,map 函数输入是什么?输出是什么,reduce 函数输入是什么?输出是什么?
答:1)由于涉及到两张表,两张表对应两个Map函数。
2)map函数的输入的Key是偏移量,Value是每一行数据
3)page_view表的map函数输出的是Key是uerid,Value是个二元组,其中这个二元组的第一个字段是来自哪张表(假设page_view表为1),第二个字段是pageid
111 | <1,1>
111 | <1,2>
222 | <1,1>
4)user表的map函数输出的Key是userid,Value是个二元组,其中这个二元组的第一个字段是来自哪张表(假设user表为2),第二个字段是age:
111 | <2,25>
222 | <2,32>
5)经过shuffle sorted后,相同key的放在一起进行reduce:
111 | <1,1> 222 | <1,1>
111 | <1,2> 222 | <2,32>
111 | <2,25>
6)进行reduce后,reduce的输入的Key时userid,Value是一个二元组。输出是Key是pageid,Value是age:
111用户的reduce输出
1 | 25
2 | 25
222用户的reduce输出:
1 | 32
评论 (1 条评论)