架构师训练营 第 12 周作业
作业:分析如下 HiveQL,生成的 MapReduce 执行程序,map 函数输入是什么?输出是什么,reduce 函数输入是什么?输出是什么?
Page_view 表和 user 表结构与数据示例如下:
答:
map 函数输入:
key - 数据行在文件系统中的地址偏移量
value - 文件中的一行数据,例如:1; 111; 9:08:01
map 函数的输出:
key - userid,例如:111
value - <table index, page id>,例如:如果是 page_view 表,则是 <1, 1>;如果是 user 表,则是 <2, 25>
reduce 函数的输入:
key - userid
value - 基于 userid 的 table index 合并的数据集合,例如:userid 为 111 的 key,则有基于 page_view 表的集合 [1, 2],其中 1, 2 为 user 111 浏览过的 pageid, 还有基于 user 表的集合 [25],其中 25 为 user 111 的 age
reduce 函数的输出:
pageid 和 age 的组合记录
版权声明: 本文为 InfoQ 作者【Lingjun】的原创文章。
原文链接:【http://xie.infoq.cn/article/4b7b9e1a4a8fcb080e2b282d3】。文章转载请联系作者。
评论