Kettle易用性好,编码工作量小,功能完备,基于Java,允许多线程与并发执行以提高效率。本书以CDH作为Hadoop平台,结合销售订单示例,详细介绍并演示如何使用Kettle完成Hadoop数据仓库的ETL过程。本书适合大数据分析系统发、数据仓库系统设计与发、DBA、架构师等相关技术人员阅读。
售 价:¥
纸质售价:¥59.60购买纸书
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
封面页
书名页
版权页
内容简介
前言
本书内容
资源下载与技术支持
读者对象
致谢
目录
第1章 ETL与Kettle
1.1 ETL基础
1.1.1 数据仓库架构中的ETL
1.1.2 数据抽取
1.1.3 数据转换
1.1.4 数据加载
1.1.5 开发ETL系统的方法
1.2 ETL工具
1.2.1 ETL工具的产生
1.2.2 ETL工具的功能
1.3 Kettle基本概念
1.3.1 Kettle设计原则
1.3.2 转换
1.3.3 作业
1.3.4 数据库连接
1.3.5 连接与事务
1.3.6 元数据与资源库
1.3.7 工具
1.3.8 虚拟文件系统
1.4 为什么选择Kettle
1.4.1 主要特性
1.4.2 与SQL的比较
1.5 小结
第2章 Kettle安装与配置
2.1 安装
2.1.1 确定安装环境
2.1.2 安装前准备
2.1.3 安装运行Kettle
2.2 配置
2.2.1 配置文件和.kettle目录
2.2.2 用于启动Kettle程序的shell脚本
2.2.3 管理JDBC驱动
2.3 使用资源库
2.3.1 Kettle资源库简介
2.3.2 创建数据库资源库
2.3.3 资源库的管理与使用
2.4 小结
第3章 Kettle对Hadoop的支持
3.1 Hadoop相关的步骤与作业项
3.2 连接Hadoop
3.2.1 连接Hadoop集群
3.2.2 连接Hive
3.2.3 连接Impala
3.2.4 建立MySQL数据库连接
3.3 导入导出Hadoop集群数据
3.3.1 向HDFS导入数据
3.3.2 向Hive导入数据
3.3.3 从HDFS抽取数据到MySQL
3.3.4 从Hive抽取数据到MySQL
3.4 执行HiveQL语句
3.5 执行MapReduce
3.5.1 生成聚合数据集
3.5.2 格式化原始Web日志
3.6 执行Spark作业
3.6.1 在Kettle主机上安装Spark客户端
3.6.2 为Kettle配置Spark
3.6.3 提交Spark作业
3.7 小结
第4章 建立ETL示例模型
4.1 业务场景
4.1.1 操作型数据源
4.1.2 销售订单数据仓库模型设计
4.2 Hive相关配置
4.2.1 选择文件格式
4.2.2 选择表类型
4.2.3 支持行级更新
4.2.4 Hive事务支持的限制
4.3 建立数据库表
4.3.1 源数据库表
4.3.2 RDS库表
4.3.3 TDS库表
4.4 装载日期维度数据
4.5 小结
第5章 数据抽取
5.1 Kettle数据抽取概览
5.1.1 文件抽取
5.1.2 数据库抽取
5.2 变化数据捕获
5.2.1 基于源数据的CDC
5.2.2 基于触发器的CDC
5.2.3 基于快照的CDC
5.2.4 基于日志的CDC
5.3 使用Sqoop抽取数据
5.3.1 Sqoop简介
5.3.2 使用Sqoop抽取数据
5.3.3 Sqoop优化
5.4 小结
第6章 数据转换与装载
6.1 数据清洗
6.1.1 处理“脏数据”
6.1.2 数据清洗原则
6.1.3 数据清洗实例
6.2 Hive简介
6.2.1 Hive体系结构
6.2.2 Hive工作流程
6.2.3 Hive服务器
6.2.4 Hive优化
6.3 初始装载
6.3.1 系统初始化
6.3.2 装载过渡区
6.3.3 装载维度表
6.3.4 装载事实表
6.3.5 设置最后装载日期
6.4 定期装载
6.4.1 设置系统日期
6.4.2 装载过渡区
6.4.3 装载维度表
6.4.4 装载事实表
6.4.5 设置最后装载日期
6.5 小结
第7章 定期自动执行ETL作业
7.1 使用crontab
7.1.1 crontab权限
7.1.2 crontab命令
7.1.3 crontab文件
7.1.4 crontab示例
7.1.5 crontab环境
7.1.6 重定向输出
7.2 使用Oozie
7.2.1 Oozie体系结构
7.2.2 CDH 6.3.1中的Oozie
7.2.3 建立定期装载工作流
7.2.4 建立协调器作业定期自动执行工作流
7.2.5 在Kettle中执行Oozie作业
7.2.6 Oozie优化
7.3 使用start作业项
7.4 小结
第8章 维度表技术
8.1 增加列
8.1.1 修改数据库模式
8.1.2 修改Sqoop作业项
8.1.3 修改定期装载维度表的转换
8.1.4 修改定期装载事实表的转换
8.1.5 测试
8.2 维度子集
8.2.1 建立包含属性子集的子维度
8.2.2 建立包含行子集的子维度
8.2.3 使用视图实现维度子集
8.3 角色扮演维度
8.3.1 修改数据库模式
8.3.2 修改Kettle定期装载作业
8.3.3 测试
8.3.4 一种有问题的设计
8.4 层次维度
8.4.1 固定深度的层次
8.4.2 多路径层次
8.4.3 参差不齐的层次
8.4.4 递归
8.5 退化维度
8.5.1 退化订单维度
8.5.2 修改定期装载脚本
8.5.3 测试修改后的定期装载
8.6 杂项维度
8.6.1 新增销售订单属性杂项维度
8.6.2 修改定期装载Kettle作业
8.6.3 测试修改后的定期装载
8.7 维度合并
8.7.1 修改数据仓库模式
8.7.2 初始装载事实表
8.7.3 修改定期装载Kettle作业
8.7.4 测试修改后的定期装载
8.8 分段维度
8.8.1 年度销售订单星型模式
8.8.2 初始装载
8.8.3 定期装载
8.9 小结
第9章 事实表技术
9.1 事实表概述
9.2 周期快照
9.2.1 修改数据仓库模式
9.2.2 创建快照表数据装载Kettle转换
9.3 累积快照
9.3.1 修改数据库模式
9.3.2 修改增量抽取销售订单表的Kettle转换
9.3.3 修改定期装载销售订单事实表的Kettle转换
9.3.4 修改定期装载Kettle作业
9.3.5 测试
9.4 无事实的事实表
9.4.1 建立新产品发布的无事实的事实表
9.4.2 初始装载无事实的事实表
9.4.3 修改定期装载Kettle作业
9.4.4 测试定期装载作业
9.5 迟到的事实
9.5.1 修改数据仓库模式
9.5.2 修改定期装载Kettle转换
9.5.3 修改装载月销售周期快照事实表的作业
9.5.4 测试
9.6 累积度量
9.6.1 修改模式
9.6.2 初始装载
9.6.3 定期装载
9.6.4 测试定期装载
9.6.5 查询
9.7 小结
第10章 并行、集群与分区
10.1 数据分发方式与多线程
10.1.1 数据行分发
10.1.2 记录行合并
10.1.3 记录行再分发
10.1.4 数据流水线
10.1.5 多线程的问题
10.1.6 作业中的并行执行
10.2 Carte子服务器
10.2.1 创建Carte子服务器
10.2.2 定义子服务器
10.2.3 远程执行
10.2.4 监视子服务器
10.2.5 Carte安全
10.2.6 服务
10.3 集群转换
10.3.1 定义一个静态集群
10.3.2 设计集群转换
10.3.3 执行和监控
10.3.4 元数据转换
10.3.5 配置动态集群
10.4 数据库分区
10.4.1 在数据库连接中使用集群
10.4.2 创建数据库分区schemas
10.4.3 启用数据库分区
10.4.4 数据库分区示例
10.4.5 集群转换中的分区
10.5 小结
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜