大数据处理系统分析与设计
1 大数据处理系统架构
1.1 大数据特征(5V)
| 特征 | 英文 | 说明 |
|---|---|---|
| 大量 | Volume | 数据量大 |
| 高速 | Velocity | 数据产生速度快 |
| 多样 | Variety | 数据类型多样 |
| 价值 | Value | 价值密度低 |
| 真实 | Veracity | 数据质量参差不齐 |
1.2 大数据架构层次
数据采集层:Flume、Kafka、Sqoop 数据存储层:HDFS、HBase、MongoDB 数据处理层:MapReduce、Spark、Flink 数据分析层:Hive、Pig、Spark SQL 数据应用层:可视化、报表、API
2 大数据存储技术
2.1 分布式文件系统
HDFS(Hadoop Distributed File System):
- 分布式存储
- 高容错性
- 高吞吐量
- 适合大文件存储
2.2 NoSQL数据库
| 类型 | 说明 | 示例 |
|---|---|---|
| 键值存储 | 简单快速 | Redis、Memcached |
| 列存储 | 大规模数据 | HBase、Cassandra |
| 文档存储 | 灵活schema | MongoDB、CouchDB |
| 图数据库 | 关系网络 | Neo4j、Titan |
3 大数据处理技术
3.1 批处理
MapReduce:
- Map阶段:数据分片处理
- Reduce阶段:结果汇总
优点:
- 适合大规模数据
- 容错性好
缺点:
- 延迟高
- 不适合迭代计算
3.2 流处理
Spark Streaming:
- 微批处理
- 基于Spark
Flink:
- 真正的流处理
- 低延迟
- 高吞吐
3.3 实时处理
Lambda架构:
- 批处理层
- 速度层
- 服务层
Kappa架构:
- 只保留流处理层
- 简化架构
4 数据仓库与数据湖
4.1 数据仓库
特点:
- 面向主题
- 集成性
- 非易失性
- 时变性
架构:
- 操作数据存储(ODS)
- 数据仓库(DW)
- 数据集市(DM)
4.2 数据湖
数据湖:存储原始数据的存储库,可以是结构化、半结构化或非结构化数据。
特点:
- 存储原始数据
- 模式在读时定义
- 灵活性高
- 成本低
5 数据挖掘
5.1 数据挖掘任务
| 任务 | 说明 |
|---|---|
| 分类 | 预测离散标签 |
| 回归 | 预测连续值 |
| 聚类 | 无监督分组 |
| 关联规则 | 发现关联关系 |
| 异常检测 | 发现异常数据 |
5.2 常用算法
| 类型 | 算法 |
|---|---|
| 分类 | 决策树、SVM、随机森林、神经网络 |
| 聚类 | K-Means、DBSCAN、层次聚类 |
| 关联规则 | Apriori、FP-Growth |
参考资源
- 系统分析师教材(第二版)相关章节
- 文老师软考教育