第5章 数据各就各位:生态组件层


文档摘要

第 5 章 · 数据各就各位:生态组件层 章节摘要:数据落盘并经过计算加工后,需要在不同的消费场景换不同形态被使用。本章按"数据出口"组织生态组件:Hive 提供 SQL 数仓、Pig 提供脚本化数据流、HBase 提供在线随机访问、Sqoop 与 Flume 打通进出集群的通道、Oozie 编排整条流水线。每个组件都从"它让数据旅程多了什么出口"讲起。 学习目标 阅读完本章,你应当能够: 完成 Hive 建库建表、分区与分桶设计,并读懂一次查询的执行计划; 用 Pig Latin 写出加载、变换、存储的数据流脚本; 解释 HBase 的列族模型、LSM 存储与 RowKey 设计原则; 用 Sqoop 完成 RDBMS 与 HDFS 的双向同步,用 Flume 搭建日志采集链路;

第 5 章 · 数据各就各位:生态组件层

章节摘要:数据落盘并经过计算加工后,需要在不同的消费场景换不同形态被使用。本章按"数据出口"组织生态组件:Hive 提供 SQL 数仓、Pig 提供脚本化数据流、HBase 提供在线随机访问、Sqoop 与 Flume 打通进出集群的通道、Oozie 编排整条流水线。每个组件都从"它让数据旅程多了什么出口"讲起。

学习目标

阅读完本章,你应当能够:

  1. 完成 Hive 建库建表、分区与分桶设计,并读懂一次查询的执行计划;
  2. 用 Pig Latin 写出加载、变换、存储的数据流脚本;
  3. 解释 HBase 的列族模型、LSM 存储与 RowKey 设计原则;
  4. 用 Sqoop 完成 RDBMS 与 HDFS 的双向同步,用 Flume 搭建日志采集链路;
  5. 编写 Oozie 工作流把上述组件串成定时管道;
  6. 针对一个数据消费需求选择合适的组件组合。

核心概念速览

生态组件的分工本质:同一份 HDFS 数据,为不同的访问模式提供不同的出口。

子章节导航

5.1 数据仓库工具 Hive

元数据映射、分区分桶、SQL 到 MR/Tez 的翻译过程与调优入口。

5.2 数据流工具 Pig 与生态补充

Pig Latin 的关系代数风格,及 ZooKeeper、Mahout 等周边组件的角色定位。

5.3 分布式 NoSQL 数据库 HBase

列族模型、LSM 树、RowKey 设计与读写路径。

5.4 数据进出集群:Sqoop 与 Flume

批量搬运(RDBMS 通道)与流式接入(日志通道)的配置实战。

5.5 工作流调度 Oozie

节点类型、定时与依赖、协调器的配置语法。

子章节之间的逻辑关系

五节对应数据的五种流动方向:

[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 把它们连成自动化管道。

前置知识与后续延伸

  • 前置:第 2 章 HDFS 读写与副本位置(Hive 表即 HDFS 目录、HBase 依赖本地性)、第 3 章 Shuffle(Hive join 的底层代价)、第 4 章队列(各组件皆为 YARN 应用)。
  • 为后续铺垫:第 6 章运维要保护的正是本章管道的产出;第 7 章讨论这些组件的替代与演进。

选型心法:先问访问模式,再选组件

本章五个组件容易背成一串名词,更牢的记法是回到访问模式本身:数据被"整批扫一遍分析"用 Hive;"按脚本灵活清洗变换"用 Pig;"按键毫秒级点查"用 HBase;"从关系库整批进出"用 Sqoop;"日志持续流入"用 Flume;最后无论选了什么,用 Oozie 按依赖串成管道。任何新的数据消费需求,先写出它的访问语句(查什么、按什么键、多久要一次),组件选择往往自己浮出来——这是数据旅程视角优于组件罗列视角的地方:旅程的每一站都有明确的等待,组件只是回应等待的手段。


作者与出处
原作者: 灏天文库
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U