术语表
课程核心概念的一句话解释,按主题分组。
Hadoop 基础
Hadoop Apache
分布式存储与计算基础框架,核心是 HDFS + MapReduce + YARN
HDFS Hadoop Distributed File System
分布式文件系统,按块存储、多副本容错
MapReduce MR
分布式计算模型,分为 Map 与 Reduce 两个阶段
YARN Yet Another Resource Negotiator
资源调度框架,统一管理集群 CPU 与内存
NameNode NN
HDFS 主节点,管理元数据(目录树、块映射)
DataNode DN
HDFS 从节点,实际存储数据块
SecondaryNameNode SNN
定期合并 FsImage 与 EditLog,不是热备
块 Block Block
HDFS 存储单位,默认 128MB
副本 Replication
每个块的拷贝份数,默认 3
机架感知 Rack Awareness
副本按机架分散放置,兼顾性能与容错
安全模式 Safemode
NameNode 启动时的只读校验状态
HA High Availability
双 NameNode 主备,故障秒级切换
Federation 联邦
多个 NameNode 分管命名空间,突破单点内存瓶颈
I/O 与序列化
Writable Writable
Hadoop 自定义序列化接口,比 Java 原生更紧凑
序列化 Serialization
对象转字节流,用于存储与网络传输
SequenceFile SequenceFile
key-value 形式的二进制容器文件,只能顺序读
MapFile MapFile
SequenceFile + 索引,支持按 key 随机查找
Codec Codec
压缩/解压缩算法实现类
可切分 Splittable
压缩文件能否被多个 Map 并行读取
MapReduce
InputSplit 分片
逻辑分片,一个分片对应一个 Map 任务
Shuffle 洗牌
Map 输出到 Reduce 输入之间的分区、排序、合并过程
Combiner 合并器
Map 端预聚合,减少 Shuffle 数据量
Partitioner 分区器
决定 key 进入哪个 Reduce
GroupingComparator 分组比较器
决定哪些 key 归入同一次 reduce 调用
数据倾斜 Data Skew
个别 key 数据量过大导致单任务拖慢整个作业
Hive
Hive Hive
把 SQL 翻译成分布式作业的数据仓库工具
HiveQL HQL
Hive 的类 SQL 查询语言
元数据 Metastore
库表结构信息,通常存 MySQL
内部表 Managed Table
Hive 管理数据,删表连数据一起删
外部表 External Table
只删元数据,数据保留
分区表 Partition
按列值切分目录,查询可分区裁剪
ORC ORC
列式存储格式,Hive 官方推荐
UDF/UDAF/UDTF UDF
自定义函数/聚合函数/表生成函数
Sqoop Sqoop
关系库与 HDFS/Hive 之间的批量数据迁移工具
HBase 与 Spark
HBase HBase
构建在 HDFS 上的列式数据库,擅长随机实时读写
RowKey RowKey
HBase 行键,唯一且按字典序排序
列族 Column Family
HBase 的物理存储单元
RegionServer RS
HBase 中负责读写 Region 的进程
Phoenix Phoenix
在 HBase 之上提供 SQL 能力的中间件
Spark Spark
基于内存的分布式计算框架
RDD Resilient Distributed Dataset
弹性分布式数据集,Spark 的核心抽象
窄依赖/宽依赖 Narrow/Wide Dependency
是否发生 Shuffle 的判据
DAG Directed Acyclic Graph
有向无环图,Spark 按宽依赖切分 Stage