架构师训练营 1 期 -- 第十二周作业
作业一:
(至少完成一个)
在你所在的公司(行业、领域),正在用大数据处理哪些业务?可以用大数据实现哪些价值?
答:我们主要是使用大数据做数据分析。比如我们会对所有的电梯故障做分析,统计出数量最多的故障类型,刚开始得出的数目最多的是一些锁梯故障,这些故障其实是因为维保工在进行维保是产生的。但是这些故障是不应该产生的,因为维保产生的故障不是一个真正的故障。只要在维保时先打检修,这种故障就不会产生。通过这一结果,我们能知道,现场的维保工操作都不是很规范,导致了一些故障误报,同时也能看出,哪些城市的维保工操作最规范。
后来我们把分析结果发给分公司,让分公司去督促维保工规范操作,几个月后,故障误报率大大降低了。
分析如下 HiveQL,生成的 MapReduce 执行程序,map 函数输入是什么?输出是什么,reduce 函数输入是什么?输出是什么?
复制代码
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
评论