大数据的特点:4V
- 数据量大 Volume
- 数据类型繁多 Variety
- 处理速度快 Velocity
- 价值密度低 Value
大数据关键技术
- 数据采集与预处理
- 数据存储与管理
- 数据处理与分析
- 数据可视化
- 数据安全与隐私保护
大数据计算模式
-
批处理计算
- 针对大规模数据的批量处理
- MapReduce,Spark
-
流计算
-
图计算
-
查询分析计算
代表性大数据技术
Hadoop 海量数据的存储与计算
-
HDFS (Hadoop分布式文件系统)
- 很好的容错能力
- 兼容廉价的硬件设备
- 大流量和大数据量的读写
- 结构:Master/Worker
- 名称节点:NameNode,中心服务器,负责管理文件系统的命名空间及客户端对文件的访问
- 数据节点:DataNode,负责处理文件系统客户端的读写请求,在NameNode的统一调度下进行数据块的创建、删除和复制等操作
-
MapReduce (分布式并行编程模型)
- 设计理念:计算向数据靠拢;移动计算比移动数据更加经济。
-
YARN (一个集群,多个框架)
- 负责集群资源调度管理的组件
- 实现集群资源共享和资源弹性收缩
-
HBase
- 高可靠、高性能、面向列、可伸缩的分布式数据库
- 主要用来存储非结构化和半结构化的松散数据
- 一般使用HDFS作为HBase的底层数据存储方式
-
Hive
- 基于Hadoop的数据仓库工具
- HiveQL
-
Flume (高可用的、高可靠的、分布式的海量日志采集、聚合和传输系统) -
Sqoop (SQL-to-Hadoop)
Spark
Spark与Hadoop的对比
-
Hadoop中MapReduce计算框架的缺点
- 表达能力有限。计算都必须转换成Map和Reduce两个操作
- 磁盘I/O开销大。每次执行都需要从磁盘读取数据,并且在计算完成后需要将中间结果写入到磁盘中
- 延迟高。难以胜任复杂多阶段的任务
-
Spark优点
- Spark的计算模式也属于MapReduce,但不局限于Map和Reduce操作
- Spark提供了内存计算,中间结果直接存放到内存中
- Spark基于DAG的任务调度执行机制,优于MapReduce的迭代执行机制
Hadoop和Spark的统一部署
不同的计算框架统一运行在YARN的好处:
- 计算资源按需伸缩
- 不同负载应用混搭, 集群利用率高
- 共享底层存储,避免数据跨集群迁移
Flink
针对流数据和批数据的分布式计算框架
批数据是流数据的一个特例
习题
- 请阐述大数据处理的基本流程
- 请阐述大数据的计算模式及其代表产品
- 请列举Hadoop生态系统的各个组件及其功能
- 分布式文件系统HDFS的名称节点和数据节点的功能分别是什么
- 试阐述MapReduce的基本设计思想
- YARN的主要功能是什么?使用YARN可以带来哪些好处?
- 试阐述Hadoop生态系统中HBase与其他部分的关系
- 数据仓库Hive的主要功能是什么?
- Hadoop主要有哪些缺点?相比之下,Spark具有哪些优点?
- 如何实现Spark和Hadoop的统一部署?
- Flink相对于Spark而言,在实现机制上有什么不同?
- Beam的设计目的是什么?具有哪些优点?
参考文献:林子雨《Spark编程基础》
|