-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

Kettle構建Hadoop ETL系統實踐

( 簡體 字)
作者:王雪迎類別:1. -> 程式設計 -> 大數據
譯者:
出版社:清華大學出版社Kettle構建Hadoop ETL系統實踐 3dWoo書號: 54969
詢問書籍請說出此書號!

缺書
NT售價: 395

出版日:8/1/2021
頁數:322
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787302582618
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

2017年我寫了第一本書,名為《Hadoop構建數據倉庫實踐》。那本書詳細地介紹了如何利用Hadoop生態圈組件構建傳統數據倉庫,如使用Sqoop從關系型數據庫全量或增量抽取數據到Hadoop系統、使用Hive進行數據轉換和裝載處理、使用Oozie調度ETL過程自動定時執行等。作為進階,書中還講解了多維數據倉庫技術中的漸變維、代理鍵、角色扮演維度、層次維度、退化維度、無事實的事實表、遲到事實、累計度量等常見問題在Hadoop上的處理方法。所有這些內容都以CDH(Clouderas Distribution Including Apache Hadoop)為運行平臺,并用一個簡單的銷售訂單示例來系統說明。
該書介紹的大部分功能都是通過Hive SQL來實現的,其中有些SQL語句邏輯復雜,可讀性也不是很好。如今四年過去了,技術已經有了新的發展,同時我對Hadoop數據倉庫這個主題也有了新的思考,那就是有沒有可能使用一種GUI(Graphical User Interface,圖形用戶界面)工具來實現上述所有功能呢?伴隨著尋找答案的過程,經過持續的實踐與總結,于是就有了呈現在讀者面前的這本新書。本書介紹并演示如何用Kettle完成Hadoop數據倉庫的ETL過程。我們仍然以CDH作為Hadoop平臺,沿用相同的銷售訂單示例進行說明,因此可以將本書當作《Hadoop構建數據倉庫實踐》的另一版本。
面對各種各樣的ETL開發工具,之所以選擇Kettle,主要由于它的一些鮮明特性。首先,很明確的一點是,作為一款GUI工具,Kettle的易用性好,編碼工作量最小化。幾乎所有的功能都可以通過用戶界面完成,提高了ETL過程的開發效率。其次,Kettle的功能完備。書中演示所用的Kettle 8.3版本幾乎支持所有常見的數據源,并能滿足ETL功能需求的各種轉換步驟與作業項。第三,Kettle是基于Java的解決方案,天然繼承了Java的跨平臺性,只要有合適的JVM存在,轉換或作業就能運行在任何環境和平臺之上,真正做到與平臺無關。最后,Kettle允許多線程與并發執行,以提高程序執行效率。用戶只需指定線程數,其他工作都交給Kettle處理,實現細節完全透明化。
本書內容
全書共分10章。第1章介紹ETL與Kettle的基本概念,如ETL定義、ETL工具、Kettle的設計原則、Kettle組件與功能特性等。第2章講解Kettle在Linux上的安裝配置,還包括安裝Java環境、安裝GNOME Desktop圖形界面、配置中文字符集和輸入法、安裝配置VNC遠程控制等相關細節問題。第3章介紹Kettle對Hadoop的支持,說明如何配置Kettle連接Hadoop集群、Kettle中包含的Hadoop相關的步驟與作業項,演示Kettle導入導出Hadoop數據、執行MapReduce和Spark作業等。第4章說明貫穿全書的銷售訂單示例的搭建過程。第5章主要講解用Kettle實現各種變換數據捕獲方法,還有Sqoop作業項的使用。第6章說明Kettle的數據轉換與裝載功能,以及在銷售訂單示例上的具體實現。第7章講解Kettle如何支持ETL作業的自動調度,包括使用Oozie和Start作業項的實現。第8、9章詳解多維數據倉庫中常見的維度表和事實表技術,及其Kettle實現。第10章介紹三種與Kettle可擴展性相關的技術,即并行、集群和分區。
資源下載與技術支持
本書配套的資源下載信息,請用微信掃描右邊的二維碼獲取,可按頁面提示,把下載鏈接轉發到自己的郵箱中下載。如果閱讀過程中發現問題,郵件主題為“Kettle構建Hadoop ETL系統實踐”。
讀者對象
本書所有的描繪場景與實驗環境都是基于Linux操作系統的虛擬機,需要讀者具有一定的Hadoop、數據倉庫、SQL與Linux基礎。本書適合大數據分析系統開發、數據倉庫系統設計與開發、DBA、架構師等相關技術人員閱讀,也適合高等院校和培訓機構人工智能與大數據相關專業的師生教學參考。
致謝
在本書編寫過程中,得到了很多人的幫助與支持。首先要感謝我所在的公司(優貝在線)提供的平臺和環境,感謝同事們工作中的鼎力相助。沒有那里的環境和團隊,也就不會有這本書。感謝清華大學出版社圖格事業部的編輯們,他們的辛勤工作使得本書得以盡早與讀者見面。感謝CSDN提供的技術分享平臺,給我有一個將博客文章整理成書的機會。最后,感謝家人對我一如既往的支持。由于本人水平有限,書中疏漏之處在所難免,敬請讀者批評指正。

著 者
2021年5月
內容簡介:

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

第1章ETL與Kettle 1
1.1ETL基礎 1
1.1.1數據倉庫架構中的ETL 1
1.1.2數據抽取 3
1.1.3數據轉換 5
1.1.4數據裝載 6
1.1.5開發ETL系統的方法 6
1.2ETL工具 7
1.2.1ETL工具的產生 7
1.2.2ETL工具的功能 7
1.3Kettle基本概念 10
1.3.1Kettle設計原則 11
1.3.2轉換 12
1.3.3作業 15
1.3.4數據庫連接 18
1.3.5連接與事務 21
1.3.6元數據與資源庫 21
1.3.7工具 22
1.3.8虛擬文件系統 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確定安裝環境 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.1Kettle資源庫簡介 50
2.3.2創建數據庫資源庫 50
2.3.3資源庫的管理與使用 51
2.4小結 55
第3章Kettle對Hadoop的支持 56
3.1Hadoop相關的步驟與作業項 56
3.2連接Hadoop 57
3.2.1連接Hadoop集群 57
3.2.2連接Hive 63
3.2.3連接Impala 64
3.2.4建立MySQL數據庫連接 66
3.3導入導出Hadoop集群數據 67
3.3.1向HDFS導入數據 67
3.3.2向Hive導入數據 67
3.3.3從HDFS抽取數據到MySQL 68
3.3.4從Hive抽取數據到MySQL 70
3.4執行HiveQL語句 72
3.5執行MapReduce 72
3.5.1生成聚合數據集 72
3.5.2格式化原始Web日志 77
3.6執行Spark作業 81
3.6.1在Kettle主機上安裝Spark客戶端 81
3.6.2為Kettle配置Spark 81
3.6.3提交Spark作業 82
3.7小結 83
第4章建立ETL示例模型 84
4.1業務場景 84
4.1.1操作型數據源 84
4.1.2銷售訂單數據倉庫模型設計 85
4.2Hive相關配置 86
4.2.1選擇文件格式 86
4.2.2選擇表類型 88
4.2.3支持行級更新 92
4.2.4Hive事務支持的限制 94
4.3建立數據庫表 94
4.3.1源數據庫表 94
4.3.2RDS庫表 97
4.3.3TDS庫表 98
4.4裝載日期維度數據 100
4.5小結 103
第5章數據抽取 104
5.1Kettle數據抽取概覽 104
5.1.1文件抽取 105
5.1.2數據庫抽取 116
5.2變化數據捕獲 119
5.2.1基于源數據的CDC 119
5.2.2基于觸發器的CDC 125
5.2.3基于快照的CDC 126
5.2.4基于日志的CDC 130
5.3使用Sqoop抽取數據 132
5.3.1Sqoop簡介 132
5.3.2使用Sqoop抽取數據 134
5.3.3Sqoop優化 137
5.4小結 138
第6章數據轉換與裝載 139
6.1數據清洗 139
6.1.1處理“臟數據” 139
6.1.2數據清洗原則 140
6.1.3數據清洗實例 140
6.2Hive簡介 146
6.2.1Hive體系結構 147
6.2.2Hive工作流程 148
6.2.3Hive服務器 149
6.2.4Hive優化 152
6.3初始裝載 160
6.3.1系統初始化 162
6.3.2裝載過渡區 164
6.3.3裝載維度表 165
6.3.4裝載事實表 167
6.3.5設置最后裝載日期 168
6.4定期裝載 168
6.4.1設置系統日期 169
6.4.2裝載過渡區 169
6.4.3裝載維度表 169
6.4.4裝載事實表 174
6.4.5設置最后裝載日期 176
6.5小結 178
第7章定期自動執行ETL作業 179
7.1使用crontab 179
7.1.1crontab權限 180
7.1.2crontab命令 180
7.1.3crontab文件 181
7.1.4crontab示例 181
7.1.5crontab環境 182
7.1.6重定向輸出 183
7.2使用Oozie 183
7.2.1Oozie體系結構 184
7.2.2CDH6.3.1中的Oozie 185
7.2.3建立定期裝載工作流 185
7.2.4建立協調器作業定期自動執行工作流 197
7.2.5在Kettle中執行Oozie作業 200
7.2.6Oozie優化 201
7.3使用start作業項 202
7.4小結 203
第8章維度表技術 205
8.1增加列 205
8.1.1修改數據庫模式 206
8.1.2修改Sqoop作業項 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使用視圖實現維度子集 216
8.3角色扮演維度 217
8.3.1修改數據庫模式 217
8.3.2修改Kettle定期裝載作業 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作業 246
8.6.3測試修改后的定期裝載 247
8.7維度合并 248
8.7.1修改數據倉庫模式 249
8.7.2初始裝載事實表 251
8.7.3修改定期裝載Kettle作業 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修改數據倉庫模式 263
9.2.2創建快照表數據裝載Kettle轉換 265
9.3累積快照 267
9.3.1修改數據庫模式 268
9.3.2修改增量抽取銷售訂單表的Kettle轉換 270
9.3.3修改定期裝載銷售訂單事實表的Kettle轉換 270
9.3.4修改定期裝載Kettle作業 271
9.3.5測試 274
9.4無事實的事實表 276
9.4.1建立新產品發布的無事實的事實表 277
9.4.2初始裝載無事實的事實表 278
9.4.3修改定期裝載Kettle作業 280
9.4.4測試定期裝載作業 281
9.5遲到的事實 281
9.5.1修改數據倉庫模式 282
9.5.2修改定期裝載Kettle轉換 282
9.5.3修改裝載月銷售周期快照事實表的作業 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章并行、集群與分區 296
10.1數據分發方式與多線程 296
10.1.1數據行分發 297
10.1.2記錄行合并 298
10.1.3記錄行再分發 299
10.1.4數據流水線 301
10.1.5多線程的問題 301
10.1.6作業中的并行執行 302
10.2Carte子服務器 303
10.2.1創建Carte子服務器 303
10.2.2定義子服務器 304
10.2.3遠程執行 304
10.2.4監視子服務器 306
10.2.5Carte安全 306
10.2.6服務 307
10.3集群轉換 308
10.3.1定義一個靜態集群 308
10.3.2設計集群轉換 310
10.3.3執行和監控 310
10.3.4元數據轉換 312
10.3.5配置動態集群 313
10.4數據庫分區 315
10.4.1在數據庫連接中使用集群 315
10.4.2創建數據庫分區schemas 317
10.4.3啟用數據庫分區 318
10.4.4數據庫分區示例 319
10.4.5集群轉換中的分區 321
10.5小結 322
序: