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...