w-12

用户头像
麻辣
关注
发布于: 2020 年 09 月 02 日

分析如下 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);



Page_view 表和 user 表结构与数据示例如下:



map 过程分别对表page_view, user进行map, 输入是原始的行记录,按照userid作为key进行map;为了表示数据来源,添加记录的类型type=<page_view|user>。

map 数据之间进行shuffle, 将两个map的输出merge在一起,形成数据作为reduce的输入。

key = 111:



type=page_view pageid=1 userid=111 time=9:08:01

type=page_view pageid=2 userid=111 time=9:08:13

type=user userid=111 age=25 gender=female



key = 222:

type=page_view pageid=1 userid=222 time=9:08:14

type=user userid=222 age=32 gender=male



在reduce方法中,将同一组数据中不同type的进行组合,输出结果数据

key=111:

pageid=1 age=25

pageid=2 age=25



key=222:

pageid=1 age=32





用户头像

麻辣

关注

还未添加个人签名 2018.10.13 加入

还未添加个人简介

评论

发布
暂无评论
w-12