注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)行業(yè)軟件及應(yīng)用Pentaho Kettle解決方案:使用PDI構(gòu)建開源ETL解決方案

Pentaho Kettle解決方案:使用PDI構(gòu)建開源ETL解決方案

Pentaho Kettle解決方案:使用PDI構(gòu)建開源ETL解決方案

定 價(jià):¥89.00

作 者: Matt Casters(馬特·卡斯特),Roland Bouman(羅蘭·布曼),Jos van Dongen(喬斯·凡·東恩)著 初建軍 譯
出版社: 電子工業(yè)出版社
叢編項(xiàng):
標(biāo) 簽: 計(jì)算機(jī)/網(wǎng)絡(luò) 數(shù)據(jù)倉庫與數(shù)據(jù)挖掘 數(shù)據(jù)庫

ISBN: 9787121224454 出版時(shí)間: 2014-03-01 包裝: 平裝
開本: 頁數(shù): 484 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  本書主要介紹如何使用開源ETL工具來完成數(shù)據(jù)整合工作。本書介紹的PDI(Kettle)是一種開源的 ETL 解決方案,書中介紹了如何使用PDI來實(shí)現(xiàn)數(shù)據(jù)的剖析、清洗、校驗(yàn)、抽取、轉(zhuǎn)換、加載等各類常見的ETL類工作。除了ODS/DW類比較大型的應(yīng)用外,Kettle 實(shí)際還可以為中小企業(yè)提供靈活的數(shù)據(jù)抽取和數(shù)據(jù)處理的功能。Kettle除了支持各種關(guān)系型數(shù)據(jù)庫、HBase、MongoDB這樣的NoSQL數(shù)據(jù)源外,它還支持Excel、Access這類小型的數(shù)據(jù)源。并且通過插件擴(kuò)展,Kettle 可以支持各類數(shù)據(jù)源。本書詳細(xì)介紹了Kettle可以處理的數(shù)據(jù)源,而且詳細(xì)介紹了如何使用Kettle抽取增量數(shù)據(jù)。Kettle 的數(shù)據(jù)處理功能也很強(qiáng)大,除了選擇、過濾、分組、連接、排序這些常用的功能外,Kettle 里的Java表達(dá)式、正則表達(dá)式、Java腳本、Java類等功能都非常靈活而強(qiáng)大,都非常適合于各種數(shù)據(jù)處理功能。本書也使用了一些篇幅介紹Kettle這些靈活的數(shù)據(jù)處理功能。本書后面章節(jié)介紹了如何在 Kettle 上開發(fā)插件,如何使用Kettle處理實(shí)時(shí)數(shù)據(jù)流,以及如何在Amazon AWS上運(yùn)行Kettle 等一些高級(jí)主題。除了介紹PDI(Kettle)工具的使用和功能,本書還結(jié)合Kimball博士的數(shù)據(jù)倉庫和ETL子系統(tǒng)的理論,從實(shí)踐的角度介紹數(shù)據(jù)倉庫的模型設(shè)計(jì)、數(shù)據(jù)倉庫的構(gòu)建方法,以及如何使用 PDI實(shí)現(xiàn)Kimball博士提出的34種ETL子系統(tǒng)。

作者簡(jiǎn)介

  初建軍北京傲飛科技有限公司CEO,煉數(shù)成金社區(qū)BI方向授課專家,常年從事商業(yè)智能、數(shù)據(jù)挖掘、數(shù)據(jù)分析等工作,致力于推廣開源BI軟件。

圖書目錄

第一部分:開始
第1章 ETL入門2
1.1 OLTP和數(shù)據(jù)倉庫對(duì)比 2
1.2 ETL是什么 3
1.2.1 ETL解決方案的演化過程 4
1.2.2 ETL基本構(gòu)成 5
1.3 ETL、ELT和EII 6
1.3.1 ELT 6
1.3.2 EII:虛擬數(shù)據(jù)整合 7
1.4 數(shù)據(jù)整合面臨的挑戰(zhàn) 8
1.4.1 方法論:敏捷BI 9
1.4.2 ETL設(shè)計(jì) 10
1.4.3 獲取數(shù)據(jù) 10
1.4.4 數(shù)據(jù)質(zhì)量 12
1.5 ETL工具的功能 13
1.5.1 連接 13
1.5.2 平臺(tái)獨(dú)立 14
1.5.3 數(shù)據(jù)規(guī)模 14
1.5.4 設(shè)計(jì)靈活性 14
1.5.5 復(fù)用性 15
1.5.6 擴(kuò)展性 15
1.5.7 數(shù)據(jù)轉(zhuǎn)換 15
1.5.8 測(cè)試和調(diào)試 16
1.5.9 血統(tǒng)和影響分析 16
1.5.10 日志和審計(jì) 16
1.6 小結(jié) 17
第2章 Kettle基本概念18
2.1 設(shè)計(jì)原則 18
2.2 Kettle設(shè)計(jì)模塊 19
2.2.1 轉(zhuǎn)換 19
2.2.2 作業(yè) 23
2.2.3 轉(zhuǎn)換或作業(yè)的元數(shù)據(jù) 28
2.2.4 數(shù)據(jù)庫連接 28
2.2.5 工具 31
2.2.6 資源庫 31
2.2.7 虛擬文件系統(tǒng) 31
2.3 參數(shù)和變量 32
2.3.1 定義變量 32
2.3.2 命名參數(shù) 33
2.3.3 使用變量 33
2.4 可視化編程 34
2.4.1 開始 34
2.4.2 創(chuàng)建新的步驟 35
2.4.3 放在一起 36
2.5 小結(jié) 38
第3章 安裝和配置39
3.1 Kettle軟件概覽 39
3.1.1 集成開發(fā)環(huán)境:Spoon 40
3.1.2 命令行啟動(dòng):Kitchen和Pan 42
3.1.3 作業(yè)服務(wù)器:Carte 42
3.1.4 Encr.bat和encr.sh 42
3.2 安裝 43
3.2.1 Java環(huán)境 43
3.2.2 安裝 Kettle 43
3.3 配置 46
3.3.1 配置文件和.kettle目錄 46
3.3.2 用于啟動(dòng)Kettle程序的shell腳本 51
3.3.3 管理 JDBC 驅(qū)動(dòng) 52
3.4 小結(jié) 53
第4章 ETL示例解決方案――Sakila54
4.1 Sakila 54
4.1.1 sakila示例數(shù)據(jù)庫 55
4.1.2 租賃業(yè)務(wù)的星型模型 57
4.2 預(yù)備知識(shí)和一些基礎(chǔ)的Spoon技巧 60
4.2.1 安裝ETL解決方案 60
4.2.2 Spoon使用 60
4.3 ETL示例解決方案 61
4.3.1 生成靜態(tài)維度 62
4.3.2 循環(huán)加載 64
4.4 小結(jié) 80
第二部分:ETL
第5章 ETL子系統(tǒng)82
5.1 34種子系統(tǒng)介紹 82
5.1.1 抽取 83
5.1.2 清洗和更正數(shù)據(jù) 84
5.1.3 數(shù)據(jù)發(fā)布 86
5.1.4 管理ETL環(huán)境 89
5.2 小結(jié) 91
第6章 數(shù)據(jù)抽取92
6.1 Kettle數(shù)據(jù)抽取概覽 92
6.1.1 文件抽取 93
6.1.2 數(shù)據(jù)庫抽取 97
6.1.3 Web數(shù)據(jù)抽取 98
6.1.4 基于流的和實(shí)時(shí)的抽取 99
6.2 處理ERP和CRM系統(tǒng) 100
6.2.1 ERP 挑戰(zhàn) 100
6.2.2 Kettle ERP插件 101
6.2.3 處理SAP數(shù)據(jù) 101
6.2.4 ERP和CDC 問題 104
6.3 數(shù)據(jù)剖析 105
6.4 CDC:變更數(shù)據(jù)捕獲 110
6.4.1 基于源數(shù)據(jù)的CDC 111
6.4.2 基于觸發(fā)器的CDC 113
6.4.3 基于快照的CDC 113
6.4.4 基于日志的CDC 116
6.4.5 哪個(gè)CDC方案更適合你 117
6.5 發(fā)布數(shù)據(jù) 117
6.6 小結(jié) 118
第7章 清洗和校驗(yàn) 119
7.1 數(shù)據(jù)清洗 120
7.1.1 數(shù)據(jù)清洗步驟 121
7.1.2 使用參照表 123
7.1.3 數(shù)據(jù)校驗(yàn) 127
7.2 錯(cuò)誤處理 130
7.2.1 處理過程錯(cuò)誤 131
7.2.2 轉(zhuǎn)換錯(cuò)誤 132
7.2.3 處理數(shù)據(jù)(校驗(yàn))錯(cuò)誤 133
7.3 審計(jì)數(shù)據(jù)和過程質(zhì)量 136
7.4 數(shù)據(jù)排重 137
7.4.1 去除完全重復(fù)的數(shù)據(jù) 137
7.4.2 不完全重復(fù)問題 138
7.4.3 設(shè)計(jì)排除重復(fù)記錄的轉(zhuǎn)換 139
7.5 腳本 142
7.5.1 公式 143
7.5.2 Java腳本 143
7.5.3 用戶自定義Java表達(dá)式 144
7.5.4 正則表達(dá)式 145
7.6 小結(jié) 146
第8章 處理維度表 147
8.1 管理各種鍵 148
8.1.1 管理業(yè)務(wù)鍵 148
8.1.2 生成代理鍵 149
8.2 加載維度表 154
8.2.1 雪花維度表 154
8.2.2 星型維度表 159
8.3 緩慢變更維度 161
8.3.1 緩慢變更維類型 161
8.3.2 類型1的緩慢變更維 161
8.3.3 類型2的緩慢變更維 163
8.3.4 其他類型的緩慢變更維 167
8.4 更多維度 168
8.4.1 生成維(Generated Dimensions) 168
8.4.2 雜項(xiàng)維度(Junk Dimensions) 169
8.4.3 遞歸層次 170
8.5 小結(jié) 171
第9章 加載事實(shí)表 172
9.1 批量加載 173
9.1.1 STDIN和FIFO 173
9.1.2 Kettle批量加載 174
9.1.3 批量加載一般要考慮的問題 176
9.2 維度查詢 176
9.2.1 維護(hù)參照完整性 176
9.2.2 代理鍵管道 177
9.2.3 遲到數(shù)據(jù) 179
9.3 處理事實(shí)表 182
9.3.1 周期快照和累積快照 182
9.3.2 面向狀態(tài)的事實(shí)表 183
9.3.3 加載周期快照表 185
9.3.4 加載累積快照表 185
9.3.5 加載面向狀態(tài)事實(shí)表 186
9.3.6 加載聚集表 186
9.4 小結(jié) 187
第10章 處理OLAP數(shù)據(jù) 188
10.1 OLAP的價(jià)值和挑戰(zhàn) 189
10.1.1 OLAP 存儲(chǔ)類型 190
10.1.2 OLAP在系統(tǒng)中的位置 191
10.1.3 Kettle OLAP選項(xiàng) 191
10.2 Mondrian 192
10.3 XML/A服務(wù) 194
10.4 Palo 197
10.4.1 建立Palo 連接 198
10.4.2 Palo 架構(gòu) 199
10.4.3 讀Palo數(shù)據(jù) 200
10.4.4 寫Palo數(shù)據(jù) 202
10.5 小結(jié) 204
第三部分:管理和部署
第11章 ETL開發(fā)生命期 206
11.1 解決方案設(shè)計(jì) 206
11.1.1 好習(xí)慣和壞習(xí)慣 206
11.1.2 ETL流設(shè)計(jì) 209
11.1.3 可重用性和可維護(hù)性 209
11.2 敏捷開發(fā) 210
11.3 測(cè)試和調(diào)試 214
11.3.1 測(cè)試活動(dòng) 214
11.3.2 ETL測(cè)試 215
11.3.3 調(diào)試 218
11.4 解決方案文檔化 220
11.4.1 為什么實(shí)際情況下文檔很少 220
11.4.2 Kettle的文檔功能 221
11.4.3 生成文檔 222
11.5 小結(jié) 223
第12章 調(diào)度和監(jiān)控 224
12.1 調(diào)度 224
12.1.1 操作系統(tǒng)級(jí)調(diào)度 225
12.1.2 使用Pentaho 內(nèi)置的調(diào)度程序 228
12.2 監(jiān)控 232
12.2.1 日志 232
12.2.2 郵件通知 234
12.3 小結(jié) 237
第13章 版本和移植 238
13.1 版本控制系統(tǒng) 238
13.1.1 基于文件的版本控制系統(tǒng) 239
13.1.2 內(nèi)容管理系統(tǒng) 240
13.2 Kettle 元數(shù)據(jù) 240
13.2.1 Kettle XML 元數(shù)據(jù) 241
13.2.2 Kettle 資源庫元數(shù)據(jù) 242
13.3 管理資源庫 244
13.3.1 導(dǎo)出和導(dǎo)入資源庫 244
13.3.2 資源庫升級(jí) 245
13.4 版本移植系統(tǒng) 245
13.4.1 管理XML文件 245
13.4.2 管理資源庫 246
13.4.3 解決方案參數(shù)化 246
13.5 小結(jié) 248
第14章 血統(tǒng)和審計(jì) 249
14.1 批量血統(tǒng)抽取 250
14.2 血統(tǒng) 251
14.2.1 血統(tǒng)信息 251
14.2.2 影響分析信息 252
14.3 日志和操作元數(shù)據(jù) 254
14.3.1 日志基礎(chǔ) 254
14.3.2 日志架構(gòu) 255
14.3.3 日志表 257
14.4 小結(jié) 262
第四部分:性能和擴(kuò)展性
第15章 性能調(diào)優(yōu) 264
15.1 轉(zhuǎn)換性能:找到最弱連接 264
15.1.1 通過簡(jiǎn)化找到性能瓶頸 265
15.1.2 通過度量值找到性能瓶頸 266
15.1.3 復(fù)制數(shù)據(jù)行 267
15.2 提高轉(zhuǎn)換性能 269
15.2.1 提高讀文本文件的性能 269
15.2.2 寫文本文件時(shí)使用延遲轉(zhuǎn)換 271
15.2.3 提高數(shù)據(jù)庫性能 272
15.2.4 數(shù)據(jù)排序 275
15.2.5 減少CPU消耗 276
15.3 提高作業(yè)性能 280
15.3.1 作業(yè)里的循環(huán) 280
15.3.2 數(shù)據(jù)庫連接池 281
15.4 小結(jié) 281
第16章 并行、集群和分區(qū) 283
16.1 多線程 283
16.1.1 數(shù)據(jù)行分發(fā) 284
16.1.2 記錄行合并 285
16.1.3 記錄行再分發(fā) 285
16.1.4 數(shù)據(jù)流水線 286
16.1.5 多線程的問題 287
16.1.6 作業(yè)中的并行執(zhí)行 289
16.2 使用Carte子服務(wù)器 289
16.2.1 配置文件 289
16.2.2 定義子服務(wù)器 290
16.2.3 遠(yuǎn)程執(zhí)行 291
16.2.4 監(jiān)視子服務(wù)器 291
16.2.5 Carte安全 291
16.2.6 服務(wù) 292
16.3 集群轉(zhuǎn)換 293
16.3.1 定義一個(gè)集群模式 293
16.3.2 設(shè)計(jì)集群轉(zhuǎn)換 294
16.3.3 執(zhí)行和監(jiān)控 295
16.3.4 元數(shù)據(jù)轉(zhuǎn)換 296
16.4 分區(qū) 298
16.4.1 定義分區(qū)模式 299
16.4.2 分區(qū)的目標(biāo) 300
16.4.3 實(shí)現(xiàn)分區(qū) 300
16.4.4 內(nèi)部變量 301
16.4.5 數(shù)據(jù)庫分區(qū) 301
16.4.6 集群轉(zhuǎn)換中的分區(qū) 302
16.5 小結(jié) 302
第17章 云計(jì)算中的動(dòng)態(tài)集群 303
17.1 動(dòng)態(tài)集群 303
17.1.1 建立動(dòng)態(tài)集群 304
17.1.2 使用動(dòng)態(tài)集群 306
17.2 云計(jì)算 306
17.3 EC2 307
17.3.1 如何使用EC2 307
17.3.2 成本 307
17.3.3 自定義AMI 307
17.3.4 打包新AMI 310
17.3.5 中止AMI 310
17.3.6 運(yùn)行主節(jié)點(diǎn) 310
17.3.7 運(yùn)行子節(jié)點(diǎn) 311
17.3.8 使用EC2 集群 312
17.3.9 監(jiān)控 313
17.3.10 輕量原則和持久性 314
17.4 小結(jié) 314
第18章 實(shí)時(shí)數(shù)據(jù)整合 315
18.1 實(shí)時(shí)ETL介紹 315
18.1.1 實(shí)時(shí)處理面臨的挑戰(zhàn) 316
18.1.2 需求 316
18.2 基于流的轉(zhuǎn)換 317
18.2.1 一個(gè)基于流的轉(zhuǎn)換實(shí)例 318
18.2.2 調(diào)試 321
18.2.3 第三方軟件和實(shí)時(shí)整合 321
18.2.4 Java 消息服務(wù) 322
18.3 小結(jié) 324
第五部分:高級(jí)主題
第19章 Data Vault管理 326
19.1 Data Vault 模型介紹 327
19.2 你是否需要Data Vault 327
19.3 Data Vault的組成部分 328
19.3.1 中心表 328
19.3.2 鏈接表 329
19.3.3 附屬表 329
19.3.4 Data Vault 特點(diǎn) 331
19.3.5 構(gòu)建 Data Vault 模型 331
19.4 將Sakila的例子轉(zhuǎn)換成Data Vault 模型 331
19.4.1 Sakila中心表 331
19.4.2 Sakila 鏈接表 332
19.4.3 Sakila 附屬表 333
19.5 加載Data Vault 模型:簡(jiǎn)單的ETL解決
方案 334
19.5.1 安裝Sakila Data Vault 335
19.5.2 安裝ETL方案 335
19.5.3 創(chuàng)建一個(gè)數(shù)據(jù)庫賬戶 335
19.5.4 ETL解決方案的例子 335
19.5.5 加載 Data Vault 表 341
19.6 從Data Vault 模型更新數(shù)據(jù)集市 341
19.6.1 ETL解決方案例子 342
19.6.2 dim_actor 轉(zhuǎn)換 342
19.6.3 dim_customer 轉(zhuǎn)換 343
19.6.4 dim_film 轉(zhuǎn)換 346
19.6.5 dim_film_actor_bridge 轉(zhuǎn)換 347
19.6.6 fact_rental 轉(zhuǎn)換 347
19.6.7 加載星型模型里的所有表 349
19.7 小結(jié) 349
第20章 處理復(fù)雜數(shù)據(jù)格式 350
20.1 非關(guān)系型和非表格型的數(shù)據(jù)格式 350
20.2 非結(jié)構(gòu)化的表格型數(shù)據(jù) 351
20.2.1 處理多值字段 351
20.2.2 處理重復(fù)的字段組 352
20.3 半結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù) 353
20.4 鍵/值對(duì) 358
20.5 小結(jié) 362
第21章 Web Services 363
21.1 Web 頁面和Web Services 363
21.2 數(shù)據(jù)格式 365
21.2.1 XML 365
21.2.2 HTML 366
21.2.3 JavaScript Object Notation 367
21.3 XML例子 369
21.3.1 XML例子文件 369
21.3.2 從XML中抽取數(shù)據(jù) 371
21.3.3 生成XML文檔 378
21.4 SOAP例子 384
21.4.1 使用“Web服務(wù)查詢”步驟 385
21.4.2 直接訪問 SOAP服務(wù) 386
21.5 JSON例子 389
21.5.1 Freebase項(xiàng)目 389
21.5.2 使用Kettle 抽取Freebase數(shù)據(jù) 392
21.6 RSS 396
21.6.1 RSS結(jié)構(gòu) 396
21.6.2 Kettle對(duì)RSS的支持 398
21.7 小結(jié) 403
第22章 Kettle集成 404
22.1 Kettle API 404
22.1.1 LGPL協(xié)議 404
22.1.2 Kettle Java API 405
22.2 執(zhí)行存在的轉(zhuǎn)換和作業(yè) 406
22.2.1 執(zhí)行一個(gè)轉(zhuǎn)換 406
22.2.2 執(zhí)行一個(gè)作業(yè) 407
22.3 應(yīng)用程序中嵌入Kettle 408
22.3.1 Pentaho 報(bào)表 408
22.3.2 把數(shù)據(jù)放到轉(zhuǎn)換里 410
22.3.3 動(dòng)態(tài)轉(zhuǎn)換 413
22.3.4 動(dòng)態(tài)模板 416
22.3.5 動(dòng)態(tài)作業(yè) 416
22.3.6 在Kettle里執(zhí)行動(dòng)態(tài)ETL 419
22.3.7 Result 419
22.3.8 替換元數(shù)據(jù) 420
22.4 OEM版本和二次發(fā)布版本 421
22.4.1 創(chuàng)建PDI的OEM版本 421
22.4.2 Kettle的二次發(fā)布(Forking) 422
22.5 小結(jié) 423
第23章 擴(kuò)展Kettle 424
23.1 插件架構(gòu) 424
23.1.1 插件類型 425
23.1.2 架構(gòu) 425
23.1.3 前提 425
23.2 轉(zhuǎn)換步驟插件 428
23.2.1 StepMetaInterface 428
23.2.2 StepDataInterface 434
23.2.3 StepDialogInterface 434
23.2.4 StepInterface 440
23.3 用戶自定義 Java 類步驟 444
23.3.1 傳遞元數(shù)據(jù) 444
23.3.2 訪問輸入和字段 445
23.3.3 代碼片段 445
23.3.4 例子 445
23.4 作業(yè)項(xiàng)插件 446
23.4.1 JobEntryInterface 446
23.4.2 JobEntryDialogInterface 448
23.5 分區(qū)插件 448
23.6 資源庫插件 450
23.7 數(shù)據(jù)庫類型插件 450
23.8 小結(jié) 451
附錄A Kettle生態(tài)群 452
附錄B Kettle 企業(yè)版特性 456
附錄C 內(nèi)置的變量和屬性參考 457

本目錄推薦

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