第 5 章 · 数据各就各位:生态组件层 章节摘要:数据落盘并经过计算加工后,需要在不同的消费场景换不同形态被使用。本章按"数据出口"组织生态组件:Hive 提供 SQL 数仓、Pig 提供脚本化数据流、HBase 提供在线随机访问、Sqoop 与 Flume 打通进出集群的通道、Oozie 编排整条流水线。每个组件都从"它让数据旅程多了什么出口"讲起。 学习目标 阅读完本章,你应当能够: 完成 Hive 建库建表、分区与分桶设计,并读懂一次查询的执行计划; 用 Pig Latin 写出加载、变换、存储的数据流脚本; 解释 HBase 的列族模型、LSM 存储与 RowKey 设计原则; 用 Sqoop 完成 RDBMS 与 HDFS 的双向同步,用 Flume 搭建日志采集链路;
章节摘要:数据落盘并经过计算加工后,需要在不同的消费场景换不同形态被使用。本章按"数据出口"组织生态组件:Hive 提供 SQL 数仓、Pig 提供脚本化数据流、HBase 提供在线随机访问、Sqoop 与 Flume 打通进出集群的通道、Oozie 编排整条流水线。每个组件都从"它让数据旅程多了什么出口"讲起。
阅读完本章,你应当能够:
生态组件的分工本质:同一份 HDFS 数据,为不同的访问模式提供不同的出口。
元数据映射、分区分桶、SQL 到 MR/Tez 的翻译过程与调优入口。
Pig Latin 的关系代数风格,及 ZooKeeper、Mahout 等周边组件的角色定位。
列族模型、LSM 树、RowKey 设计与读写路径。
批量搬运(RDBMS 通道)与流式接入(日志通道)的配置实战。
节点类型、定时与依赖、协调器的配置语法。
五节对应数据的五种流动方向:
[5.4 进:Sqoop与Flume] ──数据进来──▶ [5.1 Hive 分析] ──加工──▶ [5.3 HBase 在线服务] [5.2 Pig 灵活清洗] │ ▼ [5.5 Oozie 全程编排]
5.4 是入口、5.1/5.2/5.3 是三种消费形态、5.5 把它们连成自动化管道。
本章五个组件容易背成一串名词,更牢的记法是回到访问模式本身:数据被"整批扫一遍分析"用 Hive;"按脚本灵活清洗变换"用 Pig;"按键毫秒级点查"用 HBase;"从关系库整批进出"用 Sqoop;"日志持续流入"用 Flume;最后无论选了什么,用 Oozie 按依赖串成管道。任何新的数据消费需求,先写出它的访问语句(查什么、按什么键、多久要一次),组件选择往往自己浮出来——这是数据旅程视角优于组件罗列视角的地方:旅程的每一站都有明确的等待,组件只是回应等待的手段。