写点什么

week12-- 课后作业

用户头像
Geek_165f3d
关注
发布于: 2020 年 09 月 20 日

1.在你所在的公司(行业、领域),正在用大数据处理哪些业务?可以用大数据实现哪些价值?

本人从事金融行业,正在用大数据处理金融行业的营销活动,如根据客户的交易数据实时匹配营销活动,给客户发送营销短信等。

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);



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



Map 函数



首先,我们看到该题中 page_view & user 两表的 JOIN 操作是通过 userid 关联的,所以 Map 操作必然是以 userid 为 key

page_view 表的 map 函数输出格式:{key: UserId, value: <TableId, PageId>}

user表的map 函数输出格式:{key: UserId, value: <TableId, Age>}

示意图如下:

Shuffle 会将上述 Map 输出结构按 Key 值(userid)排序以及合并,会生成如下两张表的内容再交给不同的 Reduce 服务计算:

Reduce 函数

  • 输入就是上面 Shuffle 的输出

reduce(Key: UserId, values: <TableId, AgeOrPageId>[], ...)



用户头像

Geek_165f3d

关注

还未添加个人签名 2019.12.14 加入

还未添加个人简介

评论

发布
暂无评论
week12--课后作业