写点什么

架构师训练营 1 期 -- 第十二周作业

用户头像
曾彪彪
关注
发布于: 2020 年 12 月 13 日

作业一:

(至少完成一个)

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

答:我们主要是使用大数据做数据分析。比如我们会对所有的电梯故障做分析,统计出数量最多的故障类型,刚开始得出的数目最多的是一些锁梯故障,这些故障其实是因为维保工在进行维保是产生的。但是这些故障是不应该产生的,因为维保产生的故障不是一个真正的故障。只要在维保时先打检修,这种故障就不会产生。通过这一结果,我们能知道,现场的维保工操作都不是很规范,导致了一些故障误报,同时也能看出,哪些城市的维保工操作最规范。

后来我们把分析结果发给分公司,让分公司去督促维保工规范操作,几个月后,故障误报率大大降低了。


  • 分析如下 HiveQL,生成的 MapReduce 执行程序,map 函数输入是什么?输出是什么,reduce 函数输入是什么?输出是什么?

复制代码

INSERT OVERWRITE TABLE pv_usersSELECT pv.pageid, u.ageFROM page_view pv   JOIN user u   ON (pv.userid = u.userid);
复制代码

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



答:

会产生两个 Map。第一个 Map 的输入是第一张表的记录,因为两张表是通过 userId 关联,所以其输出的 key 是 userId,value 是第一张表要 select 的值,但是同时包含表的编号,所以第一个 Map 的输出如下:

Key Value

111 1,1

111 1,2

222 1,1

第二个 Map 的输入是第二张表的记录,同理,其输出是

Key Value

111 2,25

222 2,32


经过 Shuttle 后,得到 Reduce 的输入如下:

Key Value

111 1,1

111 1,2

111 2,25

222 1,1

222 2,32


最终得到 Reduce 的输出:

pageId age

1 25

2 25

1 32


用户头像

曾彪彪

关注

还未添加个人签名 2019.03.23 加入

还未添加个人简介

评论

发布
暂无评论
架构师训练营 1 期 -- 第十二周作业