大數據採集與處理

大數據採集與處理

作者: 張雪萍
出版社: 電子工業
出版在: 2021-09-01
ISBN-13: 9787121420115
ISBN-10: 7121420112
裝訂格式: 平裝
總頁數: 492 頁





內容描述


本書是一本專門論述大數據採集與處理相關技術及應用的著作,也是一線研發工程師的實戰經驗結晶。本書依次介紹了大數據採集、大數據預處理、大數據存儲與計算、大數據安全等相關內容,並結合大數據應用各行業背景,介紹了電商、煤炭、教育、醫療、電信、交通等行業的大數據採集與處理。最後,本書以某電商網站數據分析為背景,介紹一個完整的數據採集、清洗、處理的離線數據分析案例,以期給讀者展示一個系統的實踐操作過程。與本書所述技術相關的論著較少,所著內容新穎、系統全面、實踐指導性強。


目錄大綱


第1章 大數據基礎 1
1.1 大數據概念及特徵 1
1.2 大數據採集與處理基本流程 2
1.2.1 大數據採集 3
1.2.2 大數據預處理 3
1.2.3 大數據處理 4
1.3 大數據分析 5
1.4 大數據應用 6
1.4.1 大數據應用行業分類 6
1.4.2 大數據分析在商業上的應用 7
習題 9
參考文獻 9
第2章 開源Hadoop 10
2.1 Hadoop概述 10
2.1.1 Hadoop簡介 10
2.1.2 Hadoop起源及發展史 11
2.1.3 Hadoop發行版本 12
2.1.4 Hadoop特性 13
2.2 Hadoop生態系統 13
2.2.1 HDFS 14
2.2.2 MapReduce 15
2.2.3 Hive 15
2.2.4 ZooKeeper 16
2.2.5 Flume 17
2.2.6 Kafka 17
2.2.7 Spark 18
2.2.8 Storm 19
2.2.9 Flink 20
2.2.10 YARN 20
2.3 Hadoop的安裝與使用 21
2.3.1 環境準備 22
2.3.2 單機模式 24
2.3.3 偽分佈式 25
2.3.4 完全分佈式安裝 38
習題 44
參考文獻 45
第3章 大數據採集 46
3.1 數據採集與大數據採集 46
3.1.1 數據採集 47
3.1.2 大數據採集及數據來源 47
3.1.3 傳統數據採集與大數據採集的區別 48
3.1.4 大數據採集分類 48
3.2 大數據採集方法 49
3.2.1 數據庫採集 50
3.2.2 系統日誌採集 50
3.2.3 網絡數據採集 51
3.2.4 傳感器採集 51
3.2.5 眾包採集 51
3.3 常用採集工具及平台 52
3.3.1 Flume 52
3.3.2 Fluentd 53
3.3.3 Logstash 55
3.3.4 Chukwa 56
3.3.5 Scribe 57
3.3.6 Splunk 58
3.3.7 Scrapy 59
3.4 網絡爬蟲 61
3.4.1 網絡爬蟲分類 61
3.4.2 網絡爬蟲發展現狀 62
3.4.3 網絡爬蟲使用技術 63
3.5 實戰 64
3.5.1 項目準備 64
3.5.2 架構設計 65
3.5.3 代碼實現 66
3.5.4 結果展示 73
習題 78
參考文獻 78
第4章 日誌採集 79
4.1 日誌採集概述 79
4.1.1 系統日誌分類 79
4.1.2 日誌分析系統架構及日誌採集方式 80
4.1.3 日誌採集應用場景與日誌分析應用場景 81
4.1.4 日誌採集系統關鍵技術 82
4.2 Scribe 83
4.2.1 Scribe概述 83
4.2.2 Scribe全局配置 83
4.2.3 Scribe的存儲類型配置 84
4.3 Chukwa 88
4.3.1 Chukwa概述 88
4.3.2 Chukwa架構 88
4.3.3 Chukwa數據收集應用 89
4.4 Kafka 90
4.4.1 Kafka概述 90
4.4.2 Kafka架構 91
4.4.3 Kafka日誌採集 93
4.5 Flume 94
4.5.1 Flume概述 94
4.5.2 Flume架構 95
4.5.3 Flume的優勢 95
4.6 實戰 95
4.6.1 Flume安裝部署 96
4.6.2 環境測試 98
4.6.3 採集目錄到HDFS 99
4.6.4 採集文件到HDFS 100
習題 101
參考文獻 101
第5章 大數據預處理 102
5.1 為什麼要進行數據預處理 102
5.2 大數據預處理總體架構 104
5.3 大數據預處理方法 105
5.3.1 數據清洗 105
5.3.2 數據集成 108
5.3.3 數據轉換 109
5.3.4 數據消減 110
5.4 ETL工具Kettle 116
5.4.1 ETL介紹 116
5.4.2 Kettle介紹 119
5.4.3 Kettle安裝與配置 142
5.5 實戰 151
5.5.1 基於Python的數據預處理 151
5.5.2 基於Hadoop生態圈的Kettle應用 155
習題 179
參考文獻 180
第6章 大數據存儲 182
6.1 大數據存儲概述 183
6.1.1 大數據存儲面臨的問題 183
6.1.2 大數據存儲方式 184
6.1.3 大數據存儲技術路線 184
6.2 HDFS 185
6.2.1 HDFS架構 186
6.2.2 HDFS存儲機制 187
6.2.3 NameNode和DataNode工作機制 190
6.3 NoSQL 193
6.3.1 NoSQL數據庫概述 193
6.3.2 HBase 198
6.3.3 MongoDB 206
6.3.4 Redis 214
6.4 ElasticSearch 220
6.4.1 ElasticSearch概述 220
6.4.2 ElasticSearch基本概念 221
6.4.3 ElasticSearch工作原理 223
6.4.4 ElasticSearch存儲機制 224
6.4.5 ElasticSearch分佈式存儲 226
6.4.6 ElasticSearch安裝與運行 229
6.5 實戰 231
6.5.1 主從模式搭建 231
6.5.2 Sentinel模式搭建 235
6.5.3 Cluster模式搭建 238
習題 245
參考文獻 245
第7章 MapReduce 246
7.1 概述 246
7.2 MapReduce計算框架 247
7.2.1 MapReduce模型 247
7.2.2 MapReduce函數 249
7.2.3 MapReduce資源管理 250
7.2.4 MapReduce生命週期管理 251
7.3 MapReduce工作流程及原理 253
7.3.1 MapReduce工作流程 253
7.3.2 MapReduce工作原理 254
7.4 深入Shuffle過程 255
7.4.1 Map端Shuffle 256
7.4.2 Reduce端Shuffle 260
7.5 實戰 262
7.5.1 任務準備 262
7.5.2 編寫Map程序 262
7.5.3 編寫Reduce 程序 263
7.5.4 編寫main函數 265
7.5.5 核心代碼包 265
7.5.6 運行代碼 266
習題 266
參考文獻 267
第8章 Hive數據倉庫 268
8.1 數據倉庫簡介 269
8.1.1 數據倉庫概念 269
8.1.2 數據倉庫的結構 269
8.1.3 傳統數據倉庫的問題 271
8.1.4 數據倉庫的發展 271
8.2 Hive 272
8.2.1 Hive簡介 272
8.2.2 Hive與傳統數據庫的對比 273
8.2.3 Hive系統架構 275
8.2.4 Hive體系結構 276
8.2.5 Hive工作原理 277
8.2.6 Hive的數據模型 283
8.2.7 Hive基本操作 284
8.3 Impala 288
8.3.1 Impala簡介 288
8.3.2 Impala架構 290
8.3.3 Impala執行過程 292
8.3.4 Impala與Hive比較 294
8.3.5 Impala基本操作 294
8.4 Spark SQL 296
8.4.1 Spark SQL簡介 296
8.4.2 Spark SQL系統架構 297
8.4.3 HiveContext和SQLContext的運行過程 298
8.4.4 Shark和Spark SQL 299
8.4.5 Spark SQL基本操作 303
8.5 案例 305
8.5.1 大數據倉庫設計案例 305
8.5.2 YouTuBe項目實戰 307
習題 318
參考文獻 318
第9章 流計算 319
9.1 流計算簡介 319
9.1.1 流計算的概念及特點 320
9.1.2 流計算的適用範圍與應用場景 321
9.2 Spark Streaming 321
9.2.1 Spark Streaming 概述 321
9.2.2 Spark Streaming基本原理 322
9.2.3 Spark Streaming 運行架構 322
9.2.4 實戰 323
9.3 Storm 325
9.3.1 Storm概述 326
9.3.2 Storm基礎架構 326
9.3.3 Storm運行流程 327
9.3.4 實戰 328
9.4 Flink 332
9.4.1 Flink概述 333
9.4.2 Flink運行架構 335
9.4.3 實戰 336
9.5 案例 341
9.5.1 任務目標 341
9.5.2 實驗環境 341
9.5.3 數據準備 341
9.5.4 業務(任務)實現 344
9.5.5 結果展示 350
習題 351
參考文獻 351
第10章 Pregel圖計算 352
10.1 Pregel圖計算簡介 353
10.1.1 圖結構數據 353
10.1.2 傳統圖計算解決方案的不足 353
10.1.3 圖計算通用軟件 353
10.1.4 Pregel簡介 354
10.2 Pregel圖計算模型 355
10.2.1 有向圖和頂點 355
10.2.2 頂點之間的消息傳遞 355
10.2.3 Pregel計算過程 356
10.3 Pregel工作原理 358
10.3.1 Pregel的C++ API 358
10.3.2 消息傳遞機制和Combiner 358
10.3.3 Aggregator機制 359
10.3.4 拓撲改變 360
10.3.5 輸入和輸出 360
10.4 Pregel體系結構 360
10.4.1 Pregel的執行過程 360
10.4.2 容錯性 362
10.4.3 Worker 363
10.4.4 Master 363
10.4.5 Aggregator 364
10.5 Pregel應用實例 365
10.5.1 單源最短路徑 365
10.5.2 PageRank算法實現及比較 367
10.6 Hama 371
10.6.1 Hama介紹 371
10.6.2 Hama體系結構 371
10.6.3 Hama實現PageRank算法 372
習題 374
參考文獻 374
第11章 大數據安全技術及應用 375
11.1 大數據安全概述 376
11.2 大數據安全威脅形式 376
11.2.1 大數據基礎設施安全威脅 376
11.2.2 大數據生命週期安全威脅 377
11.2.3 大數據隱私安全威脅 379
11.3 大數據安全關鍵路徑 380
11.3.1 大數據性能安全保障 380
11.3.2 大數據安全關鍵技術 387
11.4 大數據安全管理及應用 391
11.4.1 大數據安全管理 392
11.4.2 大數據安全應用 394
11.5 大數據安全案例分析 398
11.5.1 安全性能案例――如何自行搭建大數據計算平台 398
11.5.2 生命週期安全分析案例――大數據內網的硬件漏洞安全分析 400
習題 403
參考文獻 403
第12章 行業大數據採集與處理 404
12.1 電商大數據採集與處理 404
12.1.1 電商行業大數據概述 404
12.1.2 京東大數據採集與處理 404
12.1.3 某電商網站完整離線數據分析案例 410
12.2 煤炭大數據採集與處理 423
12.2.1 煤炭行業大數據概述 423
12.2.2 煤炭行業大數據採集與處理 424
12.2.3 煤炭行業大數據平台案例 425
12.3 教育大數據採集與處理 432
12.3.1 總體技術架構 432
12.3.2 Hadoop與Spark集成平台 433
12.3.3 數據採集方案設計 434
12.3.4 數據清洗方案設計 435
12.3.5 數據存儲方案設計 436
12.3.6 學生學業預警系統需求分析 437
12.3.7 系統體系結構設計 438
12.4 醫療大數據採集與處理 439
12.4.1 醫療大數據概述 439
12.4.2 醫療行業大數據採集與處理 441
12.4.3 醫療大數據採集與處理案例 443
12.5 電信大數據採集與處理 447
12.5.1 電信行業大數據概述 448
12.5.2 電信行業大數據採集與處理 450
12.5.3 電信行業大數據案例 452
12.6 交通大數據採集與處理 455
12.6.1 交通大數據概述 456
12.6.2 交通行業大數據採集與處理 461
12.6.3 交通大數據案例 466
習題 476
參考文獻 477


作者介紹


張雪萍,博士,教授,教育部新世紀優秀人才,河南省高校科技創新人才,河南省教育廳學術技術帶頭人。長期從事計算機科學與技術、地理信息系統領域的的教學與科研工作,主要研究興趣包括空間數據挖掘與信息共享、數據庫版權保護、軟件測試、大數據與人工智能技術及應用等。近年來完成國家"八五”、"十五”科技攻關、"十一五”科技支撐計劃、教育部新世紀優秀人才支持計劃等20餘項科研項目,其中獲地廳級科學技術進步一等獎4項、二等獎3項、三等獎1項;在LNAI、LNCS等國內外重要學術期刊上發表論文60餘篇,其中被EI收錄30餘篇;出版學術著作6部,其中獲河南省信息技術優秀一等獎1項,二等獎1項。




相關書籍

Go Web 編程 (Go Web Programming)

作者 鄭兆雄 (Sau Sheong Chang)

2021-09-01

大數據開發工程師系列:Java核心API編程

作者

2021-09-01

Vue.js 3 Cookbook: Discover actionable solutions for building modern web apps with the latest Vue features and TypeScript

作者 Ramon Ribeiro Heitor

2021-09-01