注冊 | 登錄讀書好,好讀書,讀好書!
讀書網-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網絡數(shù)據庫Kettle構建Hadoop ETL系統(tǒng)實踐

Kettle構建Hadoop ETL系統(tǒng)實踐

Kettle構建Hadoop ETL系統(tǒng)實踐

定 價:¥79.00

作 者: 王雪迎 著
出版社: 清華大學出版社
叢編項: 大數(shù)據技術叢書
標 簽: 暫缺

ISBN: 9787302582618 出版時間: 2021-07-01 包裝: 平裝
開本: 16開 頁數(shù): 322 字數(shù):  

內容簡介

  Kettle是一款國外開源的ETL工具,純Java編寫,無須安裝,功能完備,數(shù)據抽取高效穩(wěn)定。 本書介紹并演示如何用Kettle完成Hadoop數(shù)據倉庫上的ETL過程,所有的描繪場景與實驗環(huán)境都是基于Linux操作系統(tǒng)的虛擬機。全書共分10章,主要內容包括ETL與Kettle的基本概念、Kettle安裝與配置、Kettle對Hadoop的支持、建立ETL示例模型、數(shù)據轉換與裝載、定期自動執(zhí)行ETL作業(yè)、維度表技術、事實表技術,以及Kettle并行、集群與分區(qū)技術。 本書既適合大數(shù)據分析系統(tǒng)開發(fā)、數(shù)據倉庫系統(tǒng)設計與開發(fā)、DBA、架構師等相關技術人員閱讀,也適合高等院校和培訓機構人工智能與大數(shù)據相關專業(yè)的師生參考。

作者簡介

  王雪迎 ,畢業(yè)于中國地質大學計算機專業(yè),高級工程師,20年數(shù)據庫、數(shù)據倉庫相關技術工作經驗。先后供職于北京現(xiàn)代商業(yè)信息技術有限公司、北京在線九州信息技術服務有限公司、華北計算技術研究所、北京優(yōu)貝在線網絡科技有限公司,擔任DBA、數(shù)據架構師等職位。著有圖書《Hadoop構建數(shù)據倉庫實踐》《HAWQ數(shù)據倉庫與數(shù)據挖掘實戰(zhàn)》《SQL機器學習庫MADlib技術解析》《MySQL高可用實踐》。

圖書目錄

第1章  ETL與Kettle 1
1.1  ETL基礎 1
1.1.1  數(shù)據倉庫架構中的ETL 1
1.1.2  數(shù)據抽取 3
1.1.3  數(shù)據轉換 5
1.1.4  數(shù)據裝載 6
1.1.5  開發(fā)ETL系統(tǒng)的方法 6
1.2  ETL工具 7
1.2.1  ETL工具的產生 7
1.2.2  ETL工具的功能 7
1.3  Kettle基本概念 10
1.3.1  Kettle設計原則 11
1.3.2  轉換 12
1.3.3  作業(yè) 15
1.3.4  數(shù)據庫連接 18
1.3.5  連接與事務 21
1.3.6  元數(shù)據與資源庫 21
1.3.7  工具 22
1.3.8  虛擬文件系統(tǒng) 26
1.4  為什么選擇Kettle 27
1.4.1  主要特性 27
1.4.2  與SQL的比較 27
1.5  小結 30
第2章  Kettle安裝與配置 31
2.1  安裝 31
2.1.1  確定安裝環(huán)境 31
2.1.2  安裝前準備 33
2.1.3  安裝運行Kettle 41
2.2  配置 43
2.2.1  配置文件和.kettle目錄 44
2.2.2  用于啟動Kettle程序的shell腳本 48
2.2.3  管理JDBC驅動 49
2.3  使用資源庫 50
2.3.1  Kettle資源庫簡介 50
2.3.2  創(chuàng)建數(shù)據庫資源庫 50
2.3.3  資源庫的管理與使用 51
2.4  小結 55
第3章  Kettle對Hadoop的支持 56
3.1  Hadoop相關的步驟與作業(yè)項 56
3.2  連接Hadoop 57
3.2.1  連接Hadoop集群 57
3.2.2  連接Hive 63
3.2.3  連接Impala 64
3.2.4  建立MySQL數(shù)據庫連接 66
3.3  導入導出Hadoop集群數(shù)據 67
3.3.1  向HDFS導入數(shù)據 67
3.3.2  向Hive導入數(shù)據 67
3.3.3  從HDFS抽取數(shù)據到MySQL 68
3.3.4  從Hive抽取數(shù)據到MySQL 70
3.4  執(zhí)行HiveQL語句 72
3.5  執(zhí)行MapReduce 72
3.5.1  生成聚合數(shù)據集 72
3.5.2  格式化原始Web日志 77
3.6  執(zhí)行Spark作業(yè) 81
3.6.1  在Kettle主機上安裝Spark客戶端 81
3.6.2  為Kettle配置Spark 81
3.6.3  提交Spark作業(yè) 82
3.7  小結 83
第4章  建立ETL示例模型 84
4.1  業(yè)務場景 84
4.1.1  操作型數(shù)據源 84
4.1.2  銷售訂單數(shù)據倉庫模型設計 85
4.2  Hive相關配置 86
4.2.1  選擇文件格式 86
4.2.2  選擇表類型 88
4.2.3  支持行級更新 92
4.2.4  Hive事務支持的限制 94
4.3  建立數(shù)據庫表 94
4.3.1  源數(shù)據庫表 94
4.3.2  RDS庫表 97
4.3.3  TDS庫表 98
4.4  裝載日期維度數(shù)據 100
4.5  小結 103
第5章  數(shù)據抽取 104
5.1  Kettle數(shù)據抽取概覽 104
5.1.1  文件抽取 105
5.1.2  數(shù)據庫抽取 116
5.2  變化數(shù)據捕獲 119
5.2.1  基于源數(shù)據的CDC 119
5.2.2  基于觸發(fā)器的CDC 125
5.2.3  基于快照的CDC 126
5.2.4  基于日志的CDC 130
5.3  使用Sqoop抽取數(shù)據 132
5.3.1  Sqoop簡介 132
5.3.2  使用Sqoop抽取數(shù)據 134
5.3.3  Sqoop優(yōu)化 137
5.4  小結 138
第6章  數(shù)據轉換與裝載 139
6.1  數(shù)據清洗 139
6.1.1  處理“臟數(shù)據” 139
6.1.2  數(shù)據清洗原則 140
6.1.3  數(shù)據清洗實例 140
6.2  Hive簡介 146
6.2.1  Hive體系結構 147
6.2.2  Hive工作流程 148
6.2.3  Hive服務器 149
6.2.4  Hive優(yōu)化 152
6.3  初始裝載 160
6.3.1  系統(tǒng)初始化 162
6.3.2  裝載過渡區(qū) 164
6.3.3  裝載維度表 165
6.3.4  裝載事實表 167
6.3.5  設置后裝載日期 168
6.4  定期裝載 168
6.4.1  設置系統(tǒng)日期 169
6.4.2  裝載過渡區(qū) 169
6.4.3  裝載維度表 169
6.4.4  裝載事實表 174
6.4.5  設置后裝載日期 176
6.5  小結 178
第7章  定期自動執(zhí)行ETL作業(yè) 179
7.1  使用crontab 179
7.1.1  crontab權限 180
7.1.2  crontab命令 180
7.1.3  crontab文件 181
7.1.4  crontab示例 181
7.1.5  crontab環(huán)境 182
7.1.6  重定向輸出 183
7.2  使用Oozie 183
7.2.1  Oozie體系結構 184
7.2.2  CDH 6.3.1中的Oozie 185
7.2.3  建立定期裝載工作流 185
7.2.4  建立協(xié)調器作業(yè)定期自動執(zhí)行工作流 197
7.2.5  在Kettle中執(zhí)行Oozie作業(yè) 200
7.2.6  Oozie優(yōu)化 201
7.3  使用start作業(yè)項 202
7.4  小結 203
第8章  維度表技術 205
8.1  增加列 205
8.1.1  修改數(shù)據庫模式 206
8.1.2  修改Sqoop作業(yè)項 206
8.1.3  修改定期裝載維度表的轉換 207
8.1.4  修改定期裝載事實表的轉換 210
8.1.5  測試 210
8.2  維度子集 211
8.2.1  建立包含屬性子集的子維度 212
8.2.2  建立包含行子集的子維度 214
8.2.3  使用視圖實現(xiàn)維度子集 216
8.3  角色扮演維度 217
8.3.1  修改數(shù)據庫模式 217
8.3.2  修改Kettle定期裝載作業(yè) 218
8.3.3  測試 220
8.3.4  一種有問題的設計 223
8.4  層次維度 224
8.4.1  固定深度的層次 224
8.4.2  多路徑層次 228
8.4.3  參差不齊的層次 229
8.4.4  遞歸 230
8.5  退化維度 238
8.5.1  退化訂單維度 239
8.5.2  修改定期裝載腳本 241
8.5.3  測試修改后的定期裝載 241
8.6  雜項維度 242
8.6.1  新增銷售訂單屬性雜項維度 245
8.6.2  修改定期裝載Kettle作業(yè) 246
8.6.3  測試修改后的定期裝載 247
8.7  維度合并 248
8.7.1  修改數(shù)據倉庫模式 249
8.7.2  初始裝載事實表 251
8.7.3  修改定期裝載Kettle作業(yè) 253
8.7.4  測試修改后的定期裝載 254
8.8  分段維度 255
8.8.1  年度銷售訂單星型模式 256
8.8.2  初始裝載 258
8.8.3  定期裝載 260
8.9  小結 261
第9章  事實表技術 262
9.1  事實表概述 262
9.2  周期快照 263
9.2.1  修改數(shù)據倉庫模式 263
9.2.2  創(chuàng)建快照表數(shù)據裝載Kettle轉換 265
9.3  累積快照 267
9.3.1  修改數(shù)據庫模式 268
9.3.2  修改增量抽取銷售訂單表的Kettle轉換 270
9.3.3  修改定期裝載銷售訂單事實表的Kettle轉換 270
9.3.4  修改定期裝載Kettle作業(yè) 271
9.3.5  測試 274
9.4  無事實的事實表 276
9.4.1  建立新產品發(fā)布的無事實的事實表 277
9.4.2  初始裝載無事實的事實表 278
9.4.3  修改定期裝載Kettle作業(yè) 280
9.4.4  測試定期裝載作業(yè) 281
9.5  遲到的事實 281
9.5.1  修改數(shù)據倉庫模式 282
9.5.2  修改定期裝載Kettle轉換 282
9.5.3  修改裝載月銷售周期快照事實表的作業(yè) 283
9.5.4  測試 286
9.6  累積度量 289
9.6.1  修改模式 289
9.6.2  初始裝載 290
9.6.3  定期裝載 291
9.6.4  測試定期裝載 292
9.6.5  查詢 294
9.7  小結 295
第10章  并行、集群與分區(qū) 296
10.1  數(shù)據分發(fā)方式與多線程 296
10.1.1  數(shù)據行分發(fā) 297
10.1.2  記錄行合并 298
10.1.3  記錄行再分發(fā) 299
10.1.4  數(shù)據流水線 301
10.1.5  多線程的問題 301
10.1.6  作業(yè)中的并行執(zhí)行 302
10.2  Carte子服務器 303
10.2.1  創(chuàng)建Carte子服務器 303
10.2.2  定義子服務器 304
10.2.3  遠程執(zhí)行 304
10.2.4  監(jiān)視子服務器 306
10.2.5  Carte安全 306
10.2.6  服務 307
10.3  集群轉換 308
10.3.1  定義一個靜態(tài)集群 308
10.3.2  設計集群轉換 310
10.3.3  執(zhí)行和監(jiān)控 310
10.3.4  元數(shù)據轉換 312
10.3.5  配置動態(tài)集群 313
10.4  數(shù)據庫分區(qū) 315
10.4.1  在數(shù)據庫連接中使用集群 315
10.4.2  創(chuàng)建數(shù)據庫分區(qū)schemas 317
10.4.3  啟用數(shù)據庫分區(qū) 318
10.4.4  數(shù)據庫分區(qū)示例 319
10.4.5  集群轉換中的分區(qū) 321
10.5  小結 322

本目錄推薦

掃描二維碼
Copyright ? 讀書網 www.afriseller.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網安備 42010302001612號