写点什么

数据应用(一)

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

本周是跟随李智慧老师学习架构师训练营的第 12 周,现将本周的主要内容总结如下:

本周开始进入了大数据相关的学习,从 2004 年 google 发表的三篇论文(GFS、MapReduce、BigTable)开始大数据进入了一个快速发展的时期,Spark、Hive、Yarn、Hbase、Flink、Storm 等产品也应运而生。大数据在越来越多的领域得到了应用,例如:医学影像智能识别、自动驾驶。舆情监控分析等。


HDFS 分布式文件存储系统

HDFS 是 Hadoop 的第一个产品,分布式文件系统是分布式计算的基础。HDFS 有两个关键组件:DataNode 和 NameNode。DataNode 负责数据文件的读写,HDFS 将一个数据文件分成多个 block,每个 DataNode 存储一部分 block,这样一个数据文件就存储在整个 HDFS 集群上了。客户端读取数据文件时,并行访问这些 block,提高访问速度。NameNode 负责 HDFS 的元数据管理,也就是文件路径、block 的 ID 以及存储位置等信息。为了保证数据的高可用,HDFS 会将一个 block 复制多份(默认 3)。

不是所有场景都适合用 HDFS 存储,例如:低延迟的数据访问、大量小文件、多用户随机写入修改文件。

DataNode 启动后向 NameNode 注册,通过后,周期性(1 小时)向 NameNode 报告 block 信息。NameNode 定期(3 秒)接收 DataNode 的心跳,超过 10 分钟没有接到某个 DataNode 的心跳信息,则认为此 DataNode 不可用。


MapReduce

MapReduce 既是一个编程模型又是一个计算框架。MapReduce 由 map(数据)reduce(计算)两部分组成,具有自动实现分布式计算、容错、状态监控、模型抽象简洁易用等特性。map 的输入是一对 kv 值,输出也是一对 kv 值,然后将相同 key 值合并形成 kv 集合作为 reduce 的输入,reduce 的输出是零个或多个 kv 值。


Yarn:Yet Another Resource Negotiator

MapReduce 的缺点是资源调度与执行过程耦合在一起。Yarn 包含两部分,

1.资源管理器(Resource Manager):负责整个集群的资源调度,通常独立部署。

2.节点管理器(Node Manager):负责具体服务器上的任务管理,集群中的每一天服务器上都会部署。

资源管理器包含两部分:

1.调度器:资源分配算法。内置 Fair Scheduler Capacity Scheduler,也可自定义

2.应用程序管理器:负责应用程序的提交、监控


作业一:

(至少完成一个)

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

  • 分析如下 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 表结构与数据示例如下


1.大数据在金融行业的应用:风控管理,通过用户画像分析进行精准营销,分析用户社交属性,欺诈管理,产品服务优化,舆情分析等


2.

map 输入:表数据

map 输出:key 是 userid,

page_view 表:

["111":{"tableid":1,"pageid":1}]

["111":{"tableid":1,"pageid":2}]

["222":{"tableid":1,"pageid":1}]

user 表:

["111":{"tableid":2,"age":25}]

["222":{"tableid":2,"age":32}]

shuffle sort 之后,作为 reduce 的输入:

["111":{"tableid":1,"pageid":1}]

["111":{"tableid":1,"pageid":2}]

["111":{"tableid":2,"age":25}]


["222":{"tableid":1,"pageid":1}]

["222":{"tableid":2,"age":32}]

reduce 输出,pv_users:

{userid:111,pageid:1,age:25}

{userid:111,pageid:2,age:25}

{userid:222,pageid:1,age:32}


用户头像

wing

关注

还未添加个人签名 2018.05.13 加入

还未添加个人简介

评论

发布
暂无评论
数据应用(一)