展开全部

主编推荐语

轻松运用Kettle完成Hadoop数据仓库的ETL过程。

内容简介

Kettle是一款国外开源的ETL工具,纯Java编写,无须安装,功能完备,数据抽取高效稳定。

本书介绍并演示如何用Kettle完成Hadoop数据仓库上的ETL过程,所有的描绘场景与实验环境都是基于Linux操作系统的虚拟机。

全书共分10章,主要内容包括ETL与Kettle的基本概念、Kettle安装与配置、Kettle对Hadoop的支持、建立ETL示例模型、数据转换与装载、定期自动执行ETL作业、维度表技术、事实表技术,以及Kettle并行、集群与分区技术。

本书既适合大数据分析系统开发、数据仓库系统设计与开发、DBA、架构师等相关技术人员阅读,也适合高等院校和培训机构人工智能与大数据相关专业的师生参考。

目录

  • 版权信息
  • 内容简介
  • 前言
  • 第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 小结
展开全部

评分及书评

4.3
3个评分

出版方

清华大学出版社

清华大学出版社成立于1980年6月,是由教育部主管、清华大学主办的综合出版单位。植根于“清华”这座久负盛名的高等学府,秉承清华人“自强不息,厚德载物”的人文精神,清华大学出版社在短短二十多年的时间里,迅速成长起来。清华大学出版社始终坚持弘扬科技文化产业、服务科教兴国战略的出版方向,把出版高等学校教学用书和科技图书作为主要任务,并为促进学术交流、繁荣出版事业设立了多项出版基金,逐渐形成了以出版高水平的教材和学术专著为主的鲜明特色,在教育出版领域树立了强势品牌。