跳到主要内容

大数据基础入门

大数据不是单纯“数据很多”,而是一套围绕海量数据进行采集、存储、计算、分析和应用的技术体系。它的目标是把分散的数据变成可查询、可分析、可决策的资产。

一、大数据解决什么问题

传统单机数据库适合处理结构清晰、规模有限的数据。当数据规模变大、来源变多、处理速度要求更高时,就需要大数据体系。

常见场景:

  • 用户行为分析:统计访问、点击、停留、转化。
  • 推荐系统:根据用户行为推荐商品、内容、视频。
  • 风控反欺诈:识别异常交易、刷单、作弊行为。
  • 日志分析:分析系统访问日志、错误日志、安全日志。
  • 实时监控:实时计算指标并触发告警。
  • 数据报表:支撑经营分析、运营分析、管理看板。

二、大数据的 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应用数据层,面向报表和业务使用

分层的好处:

  • 降低重复开发;
  • 数据口径统一;
  • 便于追踪来源;
  • 便于权限管理;
  • 提升查询效率。

五、实时数据处理

实时处理关注“数据刚发生,就能被计算和使用”。

典型流程:

适合实时处理的场景:

  • 实时订单统计;
  • 实时风控;
  • 实时推荐;
  • 实时日志告警;
  • 实时用户画像更新。

六、数据治理

数据平台越大,越需要治理。

治理内容包括:

  • 数据标准:字段命名、类型、含义统一。
  • 数据质量:空值、重复、异常、延迟检查。
  • 元数据管理:记录表、字段、血缘、负责人。
  • 数据安全:权限、脱敏、审计。
  • 数据生命周期:冷热数据分层、过期清理。

没有治理的数据平台,很容易变成“数据很多,但没人敢用”。

七、学习路线

建议按这个顺序学习:

  1. SQL 基础:查询、聚合、窗口函数。
  2. Linux 基础:文件、进程、网络、脚本。
  3. 数据库基础:MySQL、索引、事务。
  4. Hadoop/HDFS:理解分布式存储。
  5. Hive:掌握离线数仓 SQL。
  6. Spark:理解批处理计算。
  7. Kafka:理解消息队列和数据流。
  8. Flink:学习实时计算。
  9. ClickHouse:学习 OLAP 查询。
  10. 数据仓库建模和数据治理。

八、入门练习项目

可以从一个网站访问日志分析项目开始:

练习指标:

  • 每日 PV;
  • 每日 UV;
  • 来源渠道;
  • 热门页面;
  • 错误状态码;
  • 访问高峰时间段。

九、常见误区

  • 只学工具,不理解数据流转。
  • 只会写 SQL,不理解数据建模。
  • 只追求实时,不考虑成本。
  • 只堆技术组件,不解决业务问题。
  • 不做数据质量检查,导致报表没人信。

总结

大数据的核心路线是:

入门时不要急着追所有组件,先理解数据如何从业务系统进入平台,如何被清洗、计算、建模,最后如何服务业务决策。