一、大数据概述:概念、发展历程、核心技术与生态圈、离线批处理的应用场景

各位同学好,我是你们这门课的老朋友。今天咱们正式开篇,聊聊大数据到底是个啥。

说实话,我入行那会儿,大数据还是个挺玄乎的词。老板一拍脑袋说“我们要搞大数据”,结果连服务器都没几台。现在不一样了,大数据已经成了基础设施。你想想看,没有大数据,抖音怎么给你推荐视频?淘宝怎么知道你想买啥?

好,咱们不扯远了,直接进入正题。

1.1 大数据的概念——到底多大才算大?

大数据,英文叫 Big Data。很多人以为数据量大就是大数据,其实没那么简单。

我个人习惯用四个V来定义它:

维度 英文 大白话解释
数据量 Volume 数据量大到单机存不下,得上集群
速度 Velocity 数据产生快,处理也得快
多样性 Variety 不只是表格,还有日志、图片、视频
价值密度 Value 数据多,但真正有用的可能就那么一丢丢

核心观点:大数据不是指数据量大,而是指用传统工具搞不定,必须上分布式方案的数据场景。

我在项目中遇到过不少同学,拿着几百万条数据就说要上Hadoop。其实没必要。几百万条数据,MySQL加个索引就搞定了。大数据真正的门槛,是数据量达到TB甚至PB级别。

1.2 发展历程——从单机到集群,我经历了什么

大数据的发展,说白了就是三个时代:

  1. 单机时代(2000年前后):一台服务器搞定一切。数据量大了?换更好的硬件。这叫“垂直扩展”。
  2. 分布式萌芽(2005-2010):Google发了三篇论文——GFS、MapReduce、BigTable。嗯,这三篇论文改变了世界。Hadoop就是照着它们抄出来的开源版。
  3. 生态爆发(2010至今):Spark、Flink、Kafka、Hive……各种工具像雨后春笋。现在你搞大数据,不是选一个工具,而是选一套组合拳。

我记得2012年那会儿,公司要处理每天几十亿条日志。单机MySQL直接跪了,老板急得跳脚。后来我们上了Hadoop集群,虽然配置起来很痛苦,但效果立竿见影。那时候我就意识到:大数据不是选择题,而是必答题。

个人建议:学大数据,别只盯着工具。理解分布式思想比学会用Hadoop重要一百倍。工具会过时,思想不会。

1.3 核心技术——离线批处理的看家本领

咱们这门课讲的是离线批处理。什么叫离线?说白了就是“不是实时的”。数据先攒着,等到半夜或者某个时间点,一次性处理完。

离线批处理的核心技术栈,我列个清单:

  • 数据存储:HDFS(Hadoop分布式文件系统)——数据的大本营
  • 数据计算:MapReduce(老牌)、Spark(主流)、Tez(Hive的加速器)
  • 数据仓库:Hive(SQL on Hadoop)、Spark SQL
  • 任务调度:Azkaban、Oozie、DolphinScheduler
  • 数据采集:Sqoop(关系库到Hadoop)、Flume(日志采集)

你可能会问:这么多工具,我该先学哪个?

我的建议是:先死磕HDFS和Spark。HDFS是所有存储的基础,Spark是计算的主流。这两个搞明白了,其他工具都是锦上添花。

避坑指南:我曾经见过一个团队,上来就搞Flink实时流处理,结果数据源都不稳定,实时变“时实”。离线批处理虽然“慢”,但稳定可靠。先把离线搞扎实了,再碰实时。

1.4 生态圈——Hadoop不是全部

很多人一提到大数据,就想到Hadoop。其实Hadoop只是生态圈的一部分。我画个简单的分层图:

层级 代表组件 作用
数据源层 MySQL、Kafka、日志文件 数据从哪里来
采集层 Sqoop、Flume、Canal 把数据搬到Hadoop
存储层 HDFS、HBase 数据存哪里
计算层 MapReduce、Spark、Flink 数据怎么算
查询层 Hive、Impala、Presto 怎么查数据
调度层 Azkaban、DolphinScheduler 任务谁管

你看,Hadoop只是存储和计算的一部分。真正的生产环境,是这些组件组合在一起干活。

1.5 离线批处理的应用场景——哪些场景非它不可?

离线批处理听起来有点“土”,但它的应用场景非常广泛。我挑几个典型的说说:

  • 日报/周报统计:比如电商平台每天凌晨算昨天的销售额、订单量。这种场景不需要实时,但要求数据准确。
  • 用户画像构建:把用户过去一个月的行为数据汇总,打标签。这个计算量很大,离线跑最合适。
  • 数据清洗与ETL:原始数据乱七八糟,得先清洗一遍。离线批处理可以慢慢洗,洗得干干净净。
  • 机器学习特征工程:训练模型前,要准备大量特征数据。离线批处理是特征工程的主力军。

一句话总结:只要你的场景是“数据量大、对实时性要求不高、但要求结果准确”,离线批处理就是最佳选择。

好了,第一章的内容就到这里。咱们把大数据的轮廓勾勒清楚了。下一章,我会带大家动手搭建一个真正的Hadoop集群。到时候,咱们边搭边聊,你会发现:原来大数据也没那么神秘。

嗯,今天就到这儿。有问题随时交流。