大数据概述
00:00
大数据概念、5V特征、技术生态系统全景、发展历程与应用场景。
1. 大数据概念与定义
大数据(Big Data)是指无法用传统数据处理工具在合理时间内捕获、管理和处理的数据集合。其核心在于从海量、复杂的数据中提取有价值的信息,以支撑业务决策和科学发现。
1.1 大数据的5V特征
| 特征 | 英文 | 描述 | 示例 |
|---|---|---|---|
| Volume | 数据量大 | TB、PB乃至EB级别的数据规模 | 每天产生2.5EB数据 |
| Velocity | 处理速度快 | 数据产生和流动的速度极快 | 实时交易流、传感器数据 |
| Variety | 数据类型多 | 结构化、半结构化、非结构化数据并存 | 日志、图片、视频、文本 |
| Value | 价值密度低 | 海量数据中有效信息占比低 | 视频中关键帧仅占1% |
| Veracity | 真实性 | 数据质量与可信度的不确定性 | 噪声数据、缺失值、异常值 |
1.2 大数据与传统数据的对比
| 维度 | 传统数据 | 大数据 |
|---|---|---|
| 数据量 | GB ~ TB | TB ~ EB |
| 数据来源 | 单一系统 | 多源异构 |
| 数据格式 | 结构化为主 | 结构化 + 半结构化 + 非结构化 |
| 处理模式 | 批处理 | 批处理 + 流处理 + 交互式 |
| 存储方式 | 关系型数据库 | 分布式文件系统 + NoSQL |
| 分析方法 | 统计报表 | 机器学习 + 深度学习 |
2. 大数据发展历程
2.1 关键里程碑
2003 ── Google GFS 论文发布
│
2004 ── Google MapReduce 论文发布
│
2006 ── Hadoop 项目启动(Doug Cutting)
│ ── "大数据"概念正式提出
│
2008 ── Hadoop 成为 Apache 顶级项目
│
2010 ── Spark 项目启动(UC Berkeley AMPLab)
│
2012 ── Hadoop 2.0(YARN)发布
│
2014 ── Spark 成为 Apache 顶级项目
│ ── Flink 项目孵化
│
2016 ── 数据湖概念兴起
│
2018 ── 流批一体架构成为趋势
│
2020 ── Lakehouse 架构提出
│
2022+ ── 实时湖仓、AI+大数据深度融合
2.2 技术演进路线
大数据技术经历了三个主要阶段:
- 批处理时代(2006-2012):以 Hadoop MapReduce 为核心,强调离线批处理
- 内存计算时代(2012-2018):以 Spark 为代表,内存计算大幅提升性能
- 流批一体时代(2018-至今):Flink 引领流批融合,实时性成为核心诉求
3. 大数据技术生态系统
3.1 生态全景图
┌──────────────────────────────────────────────────────────────┐
│ 数据应用层 │
│ BI报表 │ 数据挖掘 │ 机器学习 │ 实时监控 │ 推荐系统 │
├──────────────────────────────────────────────────────────────┤
│ 计算引擎层 │
│ MapReduce │ Spark │ Flink │ Presto │ ClickHouse │
├──────────────────────────────────────────────────────────────┤
│ 数据存储层 │
│ HDFS │ HBase │ Kafka │ Cassandra │ Elasticsearch │
├──────────────────────────────────────────────────────────────┤
│ 数据集成层 │
│ Sqoop │ Flume │ Kafka Connect │ Debezium │ Airflow │
├──────────────────────────────────────────────────────────────┤
│ 协调与管理层 │
│ Zookeeper │ YARN │ Oozie │ Kubernetes │
├──────────────────────────────────────────────────────────────┤
│ 数据治理层 │
│ Hive Metastore │ Atlas │ Ranger │ DataHub │
└──────────────────────────────────────────────────────────────┘
3.2 核心组件分类
| 类别 | 组件 | 功能 |
|---|---|---|
| 分布式存储 | HDFS、S3、OSS | 海量数据的可靠存储 |
| 批处理引擎 | MapReduce、Spark | 大规模离线数据处理 |
| 流处理引擎 | Flink、Spark Streaming、Kafka Streams | 实时数据处理 |
| 交互式查询 | Presto、Impala、ClickHouse | 低延迟即席查询 |
| 消息队列 | Kafka、Pulsar | 数据缓冲与流式传输 |
| NoSQL数据库 | HBase、Cassandra、MongoDB | 高吞吐随机读写 |
| 数据仓库 | Hive、Spark SQL | SQL化数据分析 |
| 数据湖 | Iceberg、Delta Lake、Hudi | 流批一体存储 |
| 资源管理 | YARN、Kubernetes | 集群资源调度 |
| 协调服务 | Zookeeper、etcd | 分布式协调与一致性 |
4. 大数据应用场景
4.1 行业应用
| 行业 | 应用场景 | 技术方案 |
|---|---|---|
| 互联网 | 推荐系统、用户画像 | Spark ML + Kafka + HBase |
| 金融 | 风控、反欺诈、量化交易 | Flink + Kafka + Redis |
| 电商 | 实时推荐、库存预测 | Flink + ClickHouse + HDFS |
| 物联网 | 设备监控、预测性维护 | Kafka + Flink + 时序数据库 |
| 医疗 | 基因分析、辅助诊断 | Spark + HDFS + 深度学习 |
| 交通 | 路径规划、流量预测 | Flink + Kafka + 图计算 |
4.2 典型数据架构
Lambda 架构:
┌──────────────┐
│ Batch Layer │ ─── 全量数据批处理
│ (HDFS+Spark)│
数据源 ──→│ │──→ 合并 ──→ 查询服务
│ Speed Layer │ ─── 实时增量处理
│ (Kafka+Flink)│
└──────────────┘
Kappa 架构:
数据源 ──→ Kafka ──→ Flink(流批一体)──→ 服务层
5. 大数据挑战与趋势
5.1 核心挑战
- 数据质量:脏数据、缺失值、数据不一致
- 数据安全与隐私:GDPR、数据脱敏、访问控制
- 实时性要求:从分钟级到秒级乃至毫秒级
- 成本控制:存储与计算资源的弹性伸缩
- 人才缺口:复合型数据人才稀缺
5.2 发展趋势
- 湖仓一体(Lakehouse):融合数据湖的灵活性与数据仓库的ACID特性
- 流批一体:统一批处理和流处理编程模型
- 云原生大数据:Kubernetes 化部署,存算分离
- AI + 大数据:特征平台、MLOps 与数据平台深度融合
- 实时数据湖:Iceberg/Flink 实时入湖与查询
- 数据网格(Data Mesh):去中心化的数据架构范式