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

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

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

定 價:¥79.00

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

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

內容簡介

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

作者簡介

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

圖書目錄

第1章  ETL與Kettle 1
1.1  ETL基礎 1
1.1.1  數(shù)據(jù)倉庫架構中的ETL 1
1.1.2  數(shù)據(jù)抽取 3
1.1.3  數(shù)據(jù)轉換 5
1.1.4  數(shù)據(jù)裝載 6
1.1.5  開發(fā)ETL系統(tǒng)的方法 6
1.2  ETL工具 7
1.2.1  ETL工具的產(chǎn)生 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ù)據(jù)庫連接 18
1.3.5  連接與事務 21
1.3.6  元數(shù)據(jù)與資源庫 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ù)據(jù)庫資源庫 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ù)據(jù)庫連接 66
3.3  導入導出Hadoop集群數(shù)據(jù) 67
3.3.1  向HDFS導入數(shù)據(jù) 67
3.3.2  向Hive導入數(shù)據(jù) 67
3.3.3  從HDFS抽取數(shù)據(jù)到MySQL 68
3.3.4  從Hive抽取數(shù)據(jù)到MySQL 70
3.4  執(zhí)行HiveQL語句 72
3.5  執(zhí)行MapReduce 72
3.5.1  生成聚合數(shù)據(jù)集 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ù)據(jù)源 84
4.1.2  銷售訂單數(shù)據(jù)倉庫模型設計 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ù)據(jù)庫表 94
4.3.1  源數(shù)據(jù)庫表 94
4.3.2  RDS庫表 97
4.3.3  TDS庫表 98
4.4  裝載日期維度數(shù)據(jù) 100
4.5  小結 103
第5章  數(shù)據(jù)抽取 104
5.1  Kettle數(shù)據(jù)抽取概覽 104
5.1.1  文件抽取 105
5.1.2  數(shù)據(jù)庫抽取 116
5.2  變化數(shù)據(jù)捕獲 119
5.2.1  基于源數(shù)據(jù)的CDC 119
5.2.2  基于觸發(fā)器的CDC 125
5.2.3  基于快照的CDC 126
5.2.4  基于日志的CDC 130
5.3  使用Sqoop抽取數(shù)據(jù) 132
5.3.1  Sqoop簡介 132
5.3.2  使用Sqoop抽取數(shù)據(jù) 134
5.3.3  Sqoop優(yōu)化 137
5.4  小結 138
第6章  數(shù)據(jù)轉換與裝載 139
6.1  數(shù)據(jù)清洗 139
6.1.1  處理“臟數(shù)據(jù)” 139
6.1.2  數(shù)據(jù)清洗原則 140
6.1.3  數(shù)據(jù)清洗實例 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ù)據(jù)庫模式 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ù)據(jù)庫模式 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ù)據(jù)倉庫模式 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ù)據(jù)倉庫模式 263
9.2.2  創(chuàng)建快照表數(shù)據(jù)裝載Kettle轉換 265
9.3  累積快照 267
9.3.1  修改數(shù)據(jù)庫模式 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  建立新產(chǎn)品發(fā)布的無事實的事實表 277
9.4.2  初始裝載無事實的事實表 278
9.4.3  修改定期裝載Kettle作業(yè) 280
9.4.4  測試定期裝載作業(yè) 281
9.5  遲到的事實 281
9.5.1  修改數(shù)據(jù)倉庫模式 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ù)據(jù)分發(fā)方式與多線程 296
10.1.1  數(shù)據(jù)行分發(fā) 297
10.1.2  記錄行合并 298
10.1.3  記錄行再分發(fā) 299
10.1.4  數(shù)據(jù)流水線 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ù)據(jù)轉換 312
10.3.5  配置動態(tài)集群 313
10.4  數(shù)據(jù)庫分區(qū) 315
10.4.1  在數(shù)據(jù)庫連接中使用集群 315
10.4.2  創(chuàng)建數(shù)據(jù)庫分區(qū)schemas 317
10.4.3  啟用數(shù)據(jù)庫分區(qū) 318
10.4.4  數(shù)據(jù)庫分區(qū)示例 319
10.4.5  集群轉換中的分區(qū) 321
10.5  小結 322

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號