架构师训练营第 1 期 - 第 12 周课后练习
在你所在的公司(行业、领域),正在用大数据处理哪些业务?可以用大数据实现哪些价值?
分析如下 HiveQL,生成的 MapReduce 执行程序,map 函数输入是什么?输出是什么,reduce 函数输入是什么?输出是什么?
答 - 1:
列举几个应用大数据的例子:
比如营销平台需要对银行客户的资产计算得到一些指标,然后进行营销。比如计算半年内最大的资产金额,上游每天会下发 6000w 的数据,半年就是 108 亿的数据,对所有客户进行全量计算的话,在传统关系型数据库实现是相当困难的。利用大数据技术,在 Hive 里面可以比较轻松的计算这些指标,可以全量计算每个月的数据,然后再比较近 6 个月的数据得到半年内最大的资产金额
比如营销平台根据客户埋点数据和活动进展情况等评估一段周期内的活动效果,需要统计资产数据、发送营销短信数据、埋点数据、性别、年龄等等,利用传统关系型数据库计算比较耗时,要关联的表非常的多,整个计算量非常大。利用大数据技术,把数据导入到大数据平台,然后利用 Hive 计算得到活动效果的评估报表
答 - 2 :
第一个 Mapper 程序执行 page_view 的 map 操作,输入 pageid 和 userid,输出的 key 是 userid,value 是表名 pv 和 pageid
第二个 Mapper 程序执行 user 的 map 操作,输入是 userid 和 age,输出的 key 是 userid,value 是表名 u 和 age
经过 Shuffle 和 Sort 操作之后,key 都是 111 排在一起,key 都是 222 的排在一起
Reducer 程序执行的 reduce 操作,输入的 key 是 userid,values 是所有相同的 key 的值,输出是 pageid 和 age
评论