大数据基础入门
大数据不是单纯“数据很多”,而是一套围绕海量数据进行采集、存储、计算、分析和应用的技术体系。它的目标是把分散的数据变成可查询、可分析、可决策的资产。
一、大数据解决什么问题
传统单机数据库适合处理结构清晰、规模有限的数据。当数据规模变大、来源变多、处理速度要求更高时,就需要大数据体系。
常见场景:
- 用户行为分析:统计访问、点击、停留、转化。
- 推荐系统:根据用户行为推荐商品、内容、视频。
- 风控反欺诈:识别异常交易、刷单、作弊行为。
- 日志分析:分析系统访问日志、错误日志、安全日志。
- 实时监控:实时计算指标并触发告警。
- 数据报表:支撑经营分析、运营分析、管理看板。
二、大数据的 5V 特征
| 特征 | 含义 | 示例 |
|---|---|---|
| Volume | 数据量大 | TB、PB 级日志和行为数据 |
| Velocity | 速度快 | 秒级写入、分钟级统计、实时告警 |
| Variety | 类型多 | 文本、图片、音频、表格、日志 |
| Value | 价值密度低 | 大量数据中只有少量关键价值 |
| Veracity | 真实性要求 | 数据必须准确、可信、可追溯 |
三、典型大数据架构
1. 数据源
数据可能来自:
- App 和 Web 埋点;
- 后端业务数据库;
- 服务日志;
- 第三方 API;
- IoT 设备;
- 文件和消息队列。
2. 数据采集
采集负责把数据从源头同步到数据平台。
常见方式:
- 批量采集:每天或每小时同步一次。
- 实时采集:数据产生后立即进入消息队列。
- 日志采集:采集服务器日志、应用日志。
- CDC:监听数据库变更并同步。
常见工具:Flume、Logstash、Kafka Connect、Canal、Debezium。
3. 数据存储
不同数据适合不同存储。
| 存储类型 | 适合场景 |
|---|---|
| HDFS / 对象存储 | 海量原始数据、离线分析 |
| Hive | 离线数仓、SQL 查询 |
| HBase | 大规模 KV 查询 |
| ClickHouse | 高性能 OLAP 分析 |
| Elasticsearch | 日志检索、全文搜索 |
| Redis | 热点缓存、实时状态 |
4. 数据计算
计算分为离线和实时。
| 类型 | 特点 | 常见工具 |
|---|---|---|
| 离线计算 | 数据量大,延迟分钟到小时 | Spark、Hive、MapReduce |
| 实时计算 | 延迟秒级或毫秒级 | Flink、Spark Streaming |
| 交互式查询 | 面向分析师和报表 | Presto、Trino、ClickHouse |
5. 数据服务
计算结果需要服务业务,例如:
- API 查询;
- BI 报表;
- 实时大屏;
- 标签系统;
- 推荐系统;
- 风控规则;
- AI 特征工程。
四、数据仓库基础
数据仓库是把业务数据按主题组织起来,方便分析和决策的系统。
常见分层:
| 层级 | 作用 |
|---|---|
| ODS | 原始数据层,尽量保持数据原貌 |
| DWD | 明细数据层,清洗、规范字段 |
| DWS | 汇总数据层,按主题聚合 |
| ADS | 应用数据层,面向报表和业务使用 |
分层的好处:
- 降低重复开发;
- 数据口径统一;
- 便于追踪来源;
- 便于权限管理;
- 提升查询效率。
五、实时数据处理
实时处理关注“数据刚发生,就能被计算和使用”。
典型流程:
适合实时处理的场景:
- 实时订单统计;
- 实时风控;
- 实时推荐;
- 实时日志告警;
- 实时用户画像更新。
六、数据治理
数据平台越大,越需要治理。
治理内容包括:
- 数据标准:字段命名、类型、含义统一。
- 数据质量:空值、重复、异常、延迟检查。
- 元数据管理:记录表、字段、血缘、负责人。
- 数据安全:权限、脱敏、审计。
- 数据生命周期:冷热数据分层、过期清理。
没有治理的数据平台,很容易变成“数据很多,但没人敢用”。
七、学习路线
建议按这个顺序学习:
- SQL 基础:查询、聚合、窗口函数。
- Linux 基础:文件、进程、网络、脚本。
- 数据库基础:MySQL、索引、事务。
- Hadoop/HDFS:理解分布式存储。
- Hive:掌握离线数仓 SQL。
- Spark:理解批处理计算。
- Kafka:理解消息队列和数据流。
- Flink:学习实时计算。
- ClickHouse:学习 OLAP 查询。
- 数据仓库建模和数据治理。
八、入门练习项目
可以从一个网站访问日志分析项目开始:
练习指标:
- 每日 PV;
- 每日 UV;
- 来源渠道;
- 热门页面;
- 错误状态码;
- 访问高峰时间段。
九、常见误区
- 只学工具,不理解数据流转。
- 只会写 SQL,不理解数据建模。
- 只追求实时,不考虑成本。
- 只堆技术组件,不解决业务问题。
- 不做数据质量检查,导致报表没人信。
总结
大数据的核心路线是:
入门时不要急着追所有组件,先理解数据如何从业务系统进入平台,如何被清洗、计算、建模,最后如何服务业务决策。