企業數據湖

企業數據湖

《企業數據湖》機械工業出版社是2019年1月出版的圖書,作者[印度]湯姆斯·約翰(Tomcy John) 潘卡·米斯拉(Pankaj Misra)。

基本介紹

  • 中文名:企業數據湖
  • 作者:湯姆斯•約翰(Tomcy John)
  • 出版社:機械工業出版社
  • 出版時間:2019-1
  • 頁數:392
  • 定價:99.00元
  • 裝幀:平裝
  • 叢書:大數據技術叢書
  • ISBN:9787111615538
內容簡介:,作者簡介:,目錄:,

內容簡介:

本書主要分為三部分,第一部分介紹數據湖的概念、數據湖在企業中的重要性以及Lambda架構。第二部分深入研究使用Lambda架構構建數據湖所需的主要技術組件,介紹流行的大數據技術,如Apache Hadoop、Sqoop、Flume、Flink和Elasticsearch等。第三部分展示一些非常實用的數據湖落地建議,包括企業應如何建立一個真實的數據湖,以及提高數據湖運營效率所需的其他技術組件。第三部分最後還詳細介紹了幾個實際的用例,以及在企業內實現這些用例時應考慮的重要方面。
通過閱讀本書,你將:
·使用大數據技術構建企業級數據湖。
·掌握Lambda架構的精髓,以及如何在企業內使用它。
·學習與Apache Sqoop及其功能相關的技術細節。
·Kafka與Hadoop組件集成,用於獲取企業數據。
·使用Flume進行流式數據處理。
·理解Flink與流式數據處理的關係。
·Hadoop生態圈組件的協同使用,以及它們能帶來的好處。
·使用Elastic Stack構建快速、流式、高吞吐套用。
·確保數據攝取處理在不同數據格式配置時的一致性。

作者簡介:

湯姆斯·約翰(Tomcy John)是一名企業級Java技術專家,擁有工學學士學位,並且有超過14年多行業的開發經驗。他目前擔任Emirates Group IT核心架構部門的首席架構師。在此之前,他曾在甲骨文公司、安永公司任職。他主要擅長構建企業級套用,並且在企業內擔任首席導師和布道者,以促進新技術融入企業標準技術棧。

目錄:

譯者序
推薦序
關於作者
關於技術審核人員
前言
第一部分 概述
第1章 數據導論 2
1.1 探索數據 3
1.2 什麼是企業數據 4
1.3 企業數據管理 5
1.4 大數據相關概念 6
1.5 數據與企業的相關性 8
1.6 數據質量 9
1.7 企業中數據如何存放 10
1.7.1 內聯網(企業內部) 10
1.7.2 網際網路(企業外部) 10
1.7.3 數據持久化存儲(RDBMS或者NoSQL) 12
1.7.4 傳統的數據倉庫 13
1.7.5 檔案存儲 13
1.8 企業現狀 14
1.9 企業數位化轉型 15
1.10 數據湖用例啟示 16
1.11 總結 17
第2章 數據湖概念概覽 18
2.1 什麼是數據湖 18
2.2 數據湖如何幫助企業 19
2.3 數據湖是如何工作的 20
2.4 數據湖與數據倉庫的區別 21
2.5 數據湖的構建方法 22
2.6 Lambda架構驅動的數據湖 22
2.6.1 數據攝取層——攝取數據用於處理和存儲 23
2.6.2 批處理層——批量處理已提取數據 23
2.6.3 快速處理層——近實時數據處理 24
2.6.4 數據存儲層——存儲所有數據 24
2.6.5 服務層——數據交付與導出 25
2.6.6 數據獲取層——從源系統獲取數據 25
2.6.7 訊息層——數據傳輸的保障 26
2.6.8 探索數據攝取層 27
2.6.9 探索Lambda層 28
2.7 總結 35
第3章 Lambda架構:一種數據湖
實現模式 36
3.1 什麼是Lambda架構 36
3.2 Lambda 架構簡史 37
3.3 Lambda架構的原則 37
3.3.1 容錯原則 38
3.3.2 不可變數據原則 38
3.3.3 重新計算原則 38
3.4 Lambda架構的組件 38
3.4.1 批處理層 39
3.4.2 快速處理層 41
3.4.3 服務層 43
3.5 Lambda架構的完整工作原理 44
3.6 Lambda架構的優勢 45
3.7 Lambda架構的劣勢 46
3.8 Lambda架構技術概覽 46
3.9 套用Lambda 47
3.9.1 企業級日誌分析 47
3.9.2 獲取和分析感測器數據 47
3.9.3 電子郵件平台實時統計 48
3.9.4 實時賽事分析 48
3.9.5 推薦引擎 48
3.9.6 安全威脅分析 48
3.9.7 多渠道用戶行為分析 48
3.10 Lambda架構運行範例 48
3.11 Kappa架構 49
3.12 總結 50
第4章 數據湖中的Lambda套用 51
4.1 Hadoop發行版本介紹 51
4.2 影響企業大數據技術棧選擇的因素 53
4.2.1 技術能力 53
4.2.2 是否易於部署和維護 53
4.2.3 集成準備 53
4.3 批處理層與數據處理 53
4.3.1 NameNode伺服器 54
4.3.2 Secondary NameNode伺服器 55
4.3.3 YARN 55
4.3.4 數據存儲節點 55
4.3.5 快速處理層 56
4.3.6 Flume用於數據獲取 57
4.3.7 Spark Streaming 58
4.4 服務層 62
4.4.1 數據存儲層 62
4.4.2 數據訪問層 63
4.5 總結 64
第二部分 數據湖的技術組件
第5章 基於Apache Sqoop的批量數據獲取 68
5.1 數據湖背景中的數據獲取 68
5.1.1 數據獲取層 68
5.1.2 批量數據獲取——技術路線圖 69
5.2 為什麼使用Apache Sqoop 70
5.2.1 Sqoop簡史 71
5.2.2 Sqoop的優勢 71
5.2.3 Sqoop的劣勢 72、
5.3 Sqoop的功能 72
5.3.1 Sqoop 2的架構 74
5.3.2 Sqoop 1與Sqoop 2 75
5.3.3 Sqoop的功能 77
5.3.4 使用Sqoop導入數據 77
5.3.5 使用Sqoop導出數據 78
5.4 Sqoop connector 79
5.5 Sqoop對HDFS的支持 81
5.6 Sqoop運行範例 81
5.6.1 安裝與配置 81
5.6.2 數據源配置 90
5.6.3 Sqoop配置(資料庫驅動) 91
5.6.4 將HDFS配置為目的地 91
5.6.5 Sqoop數據導入 91
5.6.6 Sqoop數據導出 97
5.6.7 Sqoop job 98
5.6.8 Sqoop 2 99
5.6.9 SCV用例視角中的Sqoop 102
5.7 適合使用Sqoop的場景 103
5.8 不適合使用Sqoop的場景 104
5.9 實時Sqooping是否可行 104
5.10 其他選項 104
5.10.1 原生大數據connector 105
5.10.2 Talend 106
5.10.3 Pentaho Kettle(PDI——Pentaho數據集成) 106
5.11 總結 106
第6章 基於Apache Flume的流式數據獲取 108
6.1 數據獲取 108
6.1.1 什麼是流式數據 109
6.1.2 批量數據和流式數據 110
6.1.3 流式數據獲取——技術路線圖 110
6.1.4 什麼是Flume 111
6.1.5 Sqoop和Flume 112
6.2 為什麼使用Flume 113
6.2.1 Flume簡史 1136.2.2 Flume的優勢 113
6.2.3 Flume的劣勢 114
6.3 Flume的架構原則 114
6.4 Flume架構 115
6.4.1 Flume 架構之一:分散式數據流水線 116
6.4.2 Flume 架構之二:扇出 117
6.4.3 Flume 架構之三:扇入 117
6.4.4 Flume架構中的3層設計 118
6.4.5 高級Flume架構 118
6.4.6 Flume的可靠性級別 120
6.5 Flume事件——流式數據 120
6.6 Flume Agent 120
6.7 Flume Source 122
6.8 Flume Channel 123
6.9 Flume Sink 125
6.10 Flume配置 126
6.11 Flume事務管理 127
6.12 Flume的其他組件 128
6.12.1 Channel Processor 128
6.12.2 Interceptor 129
6.12.3 Channel Selector 129
6.12.4 Sink Group 130
6.12.5 事件序列化 131
6.13 上下文路由 131
6.14 Flume運行範例 132
6.14.1 安裝和配置 132
6.14.2 SCV用例中的Flume 133
6.15 適合使用Flume的場景 145
6.16 不適合使用Flume的場景 145
6.17 其他選項 146
6.17.1 Apache Flink 146
6.17.2 Apache NiFi 146
6.18 總結 147
第7章 使用Apache Kafka構建訊息層 148
7.1 數據湖背景中的訊息層 148
7.1.1 訊息層 148
7.1.2 訊息層——技術路線圖 149
7.1.3 什麼是Apache Kafka 150
7.2 為什麼使用Apache Kafka 150
7.2.1 Kafka簡史 151
7.2.2 Kafka的優勢 15
7.2.3 Kafka的劣勢 153
7.3 Kafka的架構 153
7.3.1 Kafka架構的核心原則 153
7.3.2 數據流的生命周期 154
7.3.3 Kafka的工作原理 155
7.3.4 Kafka的訊息 156
7.3.5 Kafka生產者 157
7.3.6 Kafka topic中的數據持久化 157
7.3.7 Kafka中topic的劃分:partition 158
7.3.8 Kafka中的訊息broker 159
7.3.9 Kafka的消費者 160
7.4 其他Kafka組件 161
7.4.1 ZooKeeper 161
7.4.2 MirrorMaker 161
7.5 Kafka編程接口 162
7.5.1 Kafka核心API 162
7.5.2 Kafka REST接口 162
7.6 生產者和消費者的可靠性 162
7.7 Kafka的安全性 163
7.8 Kafka作為面向訊息的中間件 164
7.9 Kafka與水平可擴展架構 165
7.10 Kafka連線 165
7.11 Kafka運行範例 166
7.11.1 安裝 166
7.11.2 生產者:向Kafka寫入數據 167
7.11.3 消費者:從Kafka獲取數據 171
7.11.4 設定多broker集群 173
7.11.5 SCV用例中的Kafka套用 176
7.12  適合使用Kafka的場景 176
7.13 不合適使用Kafka的場景 177
7.14 其他選項 177
7.14.1 RabbitMQ 177
7.14.2 ZeroMQ 179
7.14.3 Apache ActiveMQ 179
7.15 總結 180
第8章 使用Apache Flink處理數據 181
8.1 數據湖背景中的數據攝取層 181
8.1.1 數據攝取層 182
8.1.2 數據攝取層——技術路線圖 183
8.1.3 什麼是Apache Flink 184
8.2 為什麼使用Apache Flink 184
8.2.1 Flink簡史 185
8.2.2 Flink的優勢 186
8.2.3 Flink的劣勢 187
8.3 Flink的工作原理 187
8.3.1 Flink架構 187
8.3.2 Flink架構的核心原則 192
8.3.3 Flink組件棧 192
8.3.4 Flink中的Checkpointing 192
8.3.5 Flink中的Savepoint 194
8.3.6 Flink中的流視窗選項 195
8.3.7 記憶體管理 197
8.4 Flink的API 197
8.4.1 DataStream API 198
8.4.2 DataSet API 200
8.4.3 Flink領域相關庫 202
8.5 Flink運行範例 203
8.5.1 安裝 204
8.5.2 範例——使用Flink處理數據 205
8.5.3 SCV用例中的Flink 212
8.6 適合使用Flink的場景 217
8.7 不適合使用Flink的場景 218
8.8 其他選項 218
8.8.1 Apache Spark 218
8.8.2 Apache Storm 219
8.8.3 Apache Tez 219
8.9 總結 220
第9章 使用Apache Hadoop存儲數據 221
9.1 數據湖背景中的數據存儲和Lambda批處理層 221
9.1.1 數據存儲和Lambda批處理層 222
9.1.2 數據存儲和Lambda批處理層——技術路線圖 223
9.1.3 什麼是Apache Hadoop 224
9.2 為什麼使用Hadoop 224
9.2.1 Hadoop簡史 225
9.2.2 Hadoop的優勢 225
9.2.3 Hadoop的劣勢 226
9.3 Hadoop的工作原理 227
9.3.1 Hadoop架構的核心原則 227
9.3.2 Hadoop架構 228
9.3.3 Hadoop架構組件 231
9.3.4 Hadoop架構細節 233
9.4 Hadoop生態系統 234
9.4.1 數據訪問/處理組件 235
9.4.2 數據存儲組件 236
9.4.3 監控、管理和協調組件 237
9.4.4 數據集成組件 239
9.5 Hadoop發行版 240
9.6 HDFS和數據格式 241
9.7 Hadoop用於近實時套用 242
9.8 Hadoop部署模式 243
9.9 Hadoop運行範例 243
9.9.1 安裝 244
9.9.2 數據準備 244
9.9.3 安裝Hive 244
9.9.4 範例——批量數據載入 247
9.9.5 範例——MapReduce數據處理 248
9.9.6 SCV用例中的Hadoop 254
9.10 不適合使用Hadoop的場景 262
9.11 其他選項 263
9.12 總結 263
第10章 使用Elasticsearch存儲全文索引 264
10.1 數據湖背景中的數據存儲層與Lambda快速處理層 264
10.1.1 數據存儲層與Lambda快速處理層 265
10.1.2 數據存儲層與Lambda快速處理層——技術路線圖 265
10.2 什麼是Elasticsearch 266
10.3 為什麼使用Elasticsearch 266
10.3.1 Elasticsearch簡史 267
10.3.2 Elasticsearch的優勢 268
10.3.3 Elasticsearch的劣勢 269
10.4 Elasticsearch的工作原理 269
10.4.1 Elasticsearch架構的核心原則 269
10.4.2 Elasticsearch術語 270
10.5 Elastic Stack 273
10.5.1 Kibana 273
10.5.2 Elasticsearch 275
10.5.3 Logstash 276
10.5.4 Beats 277
10.5.7 Elasticsearch DSL 281
10.8 Elasticsearch中的節點 283
10.8.1 Master節點 283
10.8.2 Data節點 283
10.8.3 Client節點 284
10.9 Elasticsearch與關係資料庫 284
10.10 Elasticsearch生態系統 285
10.10.1 Elasticsearch分析器 285
10.10.2 Elasticsearch外掛程式 286
10.11 Elasticsearch部署選項 287
10.12 Elasticsearch Client 287
10.13 Elasticsearch用於快速流式處理 288
10.14 Elasticsearch作為數據源 289
10.15 Elasticsearch用於內容索引 289
10.16 Elasticsearch與Hadoop 289
10.17 Elasticsearch運行範例 290
10.17.1 安裝 291
10.17.2 創建和刪除索引 293
10.17.3 對文檔進行索引 294
10.17.4 獲取被索引的文檔 296
10.17.5 搜尋文檔 296
10.17.6 更新文檔 299
10.17.7 刪除文檔 299
10.17.8 SCV用例中的Elasticsearch 300
10.18 適合使用Elasticsearch的場景 317
10.19 不適合使用Elasticsearch的場景 317
10.20 其他選項 318
10.21 總結 319
第三部分 將所有技術整合在一起
第11章 數據湖組件集成 322
11.1 數據湖的學習進程 322
11.2 數據湖架構的核心原則 324
11.3 企業數據湖面臨的挑戰 324
11.4 企業對數據湖的期望 326
11.5 數據湖的其他用途 326
11.6 了解更多關於數據存儲的信息 327
11.6.1 數據存儲區域 327
11.6.2 數據模式和模型 329
11.6.3 存儲選項 329
11.6.4 壓縮方法 331
11.6.5 數據分區 332
11.7 更多關於數據處理的知識 333
11.7.1 數據校驗和清洗 333
11.7.2 機器學習 334
11.7.3 調度器/工作流 334
11.7.4 Apache Oozie 335
11.7.5 複雜事件處理 340
11.8 數據安全 341
11.8.1 Apache Knox 342
11.8.2 Apache Ranger 342
11.8.3 Apache Sentry 344
11.9 數據加密 345
11.10 元數據管理和治理 346
11.10.1 元數據 346
11.10.2 數據治理 347
11.10.3 數據世系 347
11.10.4 如何實現 348
11.11 數據審計 350
11.12 數據可追溯性 350
11.13 了解更多服務層細節 351
11.13.1 服務層構建原則 351
11.13.2 服務類型 351
11.13.3 服務層組件 353
11.13.4 數據導出 355
11.13.5 混合數據訪問 355
11.13.6 範例——服務層 355
11.14 總結 360
第12章 數據湖用例建議 361
12.1 在企業中推行網路安全實踐 361
12.2 深入了解企業的客戶 362
12.3 提升倉儲管理效率 363
12.4 品牌創建與企業行銷 364
12.5 為客戶提供更個性化的服務 366
12.6 讓物聯網數據觸手可及 367
12.7 更實用的數據歸檔 367
12.8 現有的數據倉庫基礎設施 368
12.9 實現電信安全和法規遵從 368
12.10 總結 369

相關詞條

熱門詞條

聯絡我們