架构师训练营 1 期第 12 周:数据应用(一)- 作业
一、在你所在的公司(行业、领域),正在用大数据处理哪些业务?可以用大数据实现哪些价值?
大数据应用领域
业务领域,做用户画像分析,用户行为偏好分析,做个性化推荐,智能营销
运维领域,对应用访问数据分析,包括流量,性能指标等,做性能预警和资源调度优化
二、分析如下 HiveQL,生成的 MapReduce 执行程序,map 函数输入是什么?输出是什么,reduce 函数输入是什么?输出是什么?
复制代码
page_view 表和 user 表结构与数据示例如下
map 的输入是每一行表记录,因为要把相同 userid 的 pageid 和 age 进行合并,所以 map 输出的 key 是 userid,value 为表编号和 pageid 或 age 的二元组,针对 page_view 的 value 是<page_view 表编号,pageid>,针对 user 的 value 是<user 表编号,age>
经过 shuffle sort 后,到达 reduce 阶段,相同的 userid 被分配到同一个 reduce 函数进行处理,所以 reduce 的输入的 key 是 userid,values 是对应 key 的所有二元组数据,在 reduce 中,将 page_view 表的每条数据和 user 表的数据进行连接输出,输出是 pageid 和 age 的二元组数据,构成了 pv_user 的输出结果
版权声明: 本文为 InfoQ 作者【piercebn】的原创文章。
原文链接:【http://xie.infoq.cn/article/771307113d0507fe0f0e3cf6a】。文章转载请联系作者。
评论