极客大学架构师训练营 大数据 GFS、MapReduce、BigTable,Hadoop HDFS Yarn HiveQL 第12次作业

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

笔者在一家成立于1885年的全球性跨国银行,用大数据处理的业务包括:分析出洗黑钱的用户,根据用户的存款和消费数据给用户信用评分,贷款的时候给出相应额度。

大数据实现的价值:

  1. 全球性洗黑钱会使市场失去公平,比如贩毒、恐怖组织把来历不明的钱洗白。大数据能分析出这些行为,阻止危险行为的进行。
  2. 给用户信用评级,能让给银行提供风险晴雨表,让信用好的用户更快得到贷款。
  3. 在金融借贷中,如何识别出高风险用户,要求其提供更多抵押、支付更高利息、调整更低的额度,甚至拒绝贷款,从而降低金融机构的风险。事实上,金融行业已经沉淀了大量的历史数据,利用这些数据进行计算,可以得到用户特征和风险指数的曲线(即风控模型)。当新用户申请贷款的时候,将该用户特征带入曲线进行计算,就可以得到该用户的风险指数,进而自动给出该用户的贷款策略。

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 表结构与数据示例如下:
在这里插入图片描述
MapReduce 的输出流程图如下:
在这里插入图片描述

第一张表
Map 输入:
key是偏移量,不重要。
value 就是一行记录。key 是 userId,value是<来源于哪张表id,pageId>

Map 输出:
输出结果:key是userId, value是<来源于哪张表id, pageId>

第二张表
Map 输出:
key是偏移量,不重要。
value 就是一行记录。key 是 userId,<user表的id,age>

Map 输出:
输出结果:key是userId, value是<来源于哪张表id, age>

Shuffle Sort:相同的key放在一起。

Reduce 输入:
每张表相同的key要进行join操作,最后把结果输出。
key就是Map输出的<来源于哪张表id, pageId>, <来源于哪张表id, age> , values就是userId组成的list。
Reduce 输出:
key是Map输出的<来源于哪张表id, pageId>, <来源于哪张表id, age>,result就是pageId访问的和。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值