Kafka 大数据管道应用
Kafka 不仅是消息队列,更是大数据生态的”中枢神经系统”。它连接数据生产者(业务系统)和数据消费者(Hadoop/Spark/Flink)。 一、Kafka 在大数据中的角色 1.1 数据总线的概念 1.2 解耦——生产者和消费者完全独立 1.3 削峰——应对流量尖峰 1.4 多订阅——一份数据被多方消费 二、典型架构 2.1 业务系统 → Kafka → Hadoop/Hive 2.2 业务系统 → Kafka → Spark Streaming 实时处理 2.3 业务系统 → Kafka → Flink 流计算 2.4 业务系统 → Kafka...
HBase 列式存储基础
HBase 是 Hadoop 生态中的 NoSQL 数据库,基于 HDFS,支持海量数据的随机读写。适合什么场景?与 MySQL/MongoDB 有何不同? 一、HBase 的数据模型 1.1 RowKey——行键,唯一标识 1.2 Column Family——列族 1.3 Column Qualifier——列名 1.4 Timestamp——多版本 1.5 与关系型数据库的对比 二、存储架构 2.1 HMaster——管理节点 2.2 RegionServer——数据节点 2.3 Region——表的水平分片 2.4 HFile——底层存储格式 三、RowKey ...
Flink 流处理入门
Flink 是新一代流处理引擎,它把批处理看作流处理的”特例”。本文带你快速入门 Flink 的核心概念。 一、流处理 vs 批处理 1.1 批处理——处理有界数据 1.2 流处理——处理无界数据 1.3 Flink 统一了两种模型 二、核心概念 2.1 DataStream——流数据抽象 2.2 Operator——算子(map/filter/keyBy) 2.3 Window——时间窗口 2.4 Watermark——处理乱序数据 三、时间语义 3.1 Event Time——事件发生的时间 3.2 Processing Time——数据被处理的时间 3....
Spark SQL 与 DataFrame
RDD 虽然灵活,但缺少结构信息。DataFrame 和 Spark SQL 让数据操作更像传统的 SQL 查询,性能也更好。 一、DataFrame 简介 1.1 DataFrame = RDD + Schema 1.2 与 Pandas DataFrame 的区别 1.3 创建 DataFrame——从 RDD / JSON / CSV 二、DataFrame 常用操作 2.1 select / filter / where 2.2 groupBy / agg——聚合 2.3 join——关联查询 2.4 orderB...
Spark Core 与 RDD 入门
Spark 的核心抽象是 RDD(弹性分布式数据集)。理解了 RDD 和它的 Transformation/Action 操作,就掌握了 Spark 的灵魂。 一、Spark 为什么快 1.1 内存计算——中间结果不进磁盘 1.2 DAG 调度——优化执行计划 1.3 与 MapReduce 的性能对比 二、RDD——弹性分布式数据集 2.1 什么是 RDD——不可变的分布式集合 2.2 分区——并行计算的基本单位 2.3 容错——Lineage 血统重算 2.4 依赖关系——窄依赖 vs 宽依赖 三、Transformation(转换) 3.1 map / ...
Hive 入门实践
写 MapReduce 太繁琐了。Hive 让你用熟悉的 SQL 语法查询 HDFS 上的海量数据,大大降低大数据门槛。 一、Hive 是什么 1.1 数据仓库工具——不是数据库 1.2 SQL → MapReduce 的翻译器 1.3 适用场景——离线批处理,不适用 OLTP 1.4 Hive 与 MySQL 的本质区别 二、数据模型 2.1 Database——命名空间 2.2 Table——逻辑表,数据在 HDFS 2.3 Partition——目录级分区 2.4 Bucket——文件级分桶 三、建表与加载数据 3.1 内部表 vs 外部表 3.2 ROW FORMAT——...
MapReduce 编程模型
“先 Map 再 Reduce”——这个简单的编程模型是分布式计算的经典范式。通过 WordCount 入门 MapReduce。 一、分治思想 1.1 单机处理大文件的困境 1.2 Map——分而治之,并行处理 1.3 Reduce——汇总合并 1.4 为什么叫 MapReduce——函数式编程渊源 二、WordCount 完整流程 2.1 输入——一行一行读 2.2 Map 阶段——切词 + 计数 2.3 Shuffle 阶段——按 Key 分组 2.4 Reduce 阶段——累加求和 2.5 完整的数据流图示 三、MapReduce 编程要素 3.1 Mapper 类——m...
HDFS 分布式文件系统入门
HDFS 是 Hadoop 生态的基石。理解它的架构,就理解了大数据的存储哲学——用一堆廉价机器组成可靠的文件系统。 一、HDFS 的设计目标 1.1 硬件故障是常态——容错设计 1.2 流式数据访问——一次写入多次读取 1.3 大文件优先——不适合大量小文件 1.4 移动计算比移动数据更划算 二、核心架构 2.1 NameNode——元数据管理,命名空间 2.2 DataNode——实际存储数据块 2.3 Secondary NameNode——不是热备,是检查点 2.4 心跳机制——DataNode 定期汇报 三、数据块与副本 3.1 Block 大小——默认 128MB 3...
大数据技术栈概览
大数据技术名词繁多,刚接触时很容易迷失。本文从”解决了什么问题”的视角,帮你建立全景认知。 一、大数据的核心挑战 1.1 单机处理不了——数据量超过磁盘/内存 1.2 三个核心问题——存储、计算、查询 1.3 分布式是唯一出路 二、Hadoop 生态 2.1 HDFS——分布式文件系统,解决”存在哪” 2.2 MapReduce——分布式计算框架,解决”怎么算” 2.3 YARN——资源调度,解决”谁先算” 2.4 Hadoop 的局限——MapReduce 太慢 三、Spark——内存计算的崛起 3.1 为什么比 MapReduce 快——内存 vs 磁盘 3.2 S...