新到貨2本75折
Hadoop權威指南

Hadoop權威指南

  • 定價:888
  • 優惠價:87773
  • 運送方式:
  • 臺灣與離島
  • 海外
  • 可配送點:台灣、蘭嶼、綠島、澎湖、金門、馬祖
  • 可取貨點:台灣、蘭嶼、綠島、澎湖、金門、馬祖
載入中...
  • 分享
 

內容簡介

本書結合理論和實踐,由淺入深,全方位介紹了Hadoop這一高性能的海量數據處理和分析平台。全書5部分24章,第Ⅰ部分介紹Hadoop基礎知識,主題涉及Hadoop、MapReduce、Hadoop分布式文件系統、YARN、Hadoop的I/O操作。第Ⅱ部分介紹MapReduce,主題包括MapReduce應用開發;MapReduce的工作機制、MapReduce的類型與格式、MapReduce的特性。第Ⅲ部分介紹Hadoop的運維,主題涉及構建Hadoop集群、管理Hadoop。第Ⅳ部分介紹Hadoop相關開源項目,主題涉及Avro、Parquet、Flume、Sqoop、Pig、Hive、Crunch、Spark、HBase、ZooKeeper。第Ⅴ部分提供了三個案例,分別來自醫療衛生信息技術服務商塞納(Cerner)、微軟的人工智能項目ADAM(一種大規模分布式深度學習框架)和開源項目Cascading(一個新的針對MapReduce的數據處理API)。

本書是一本權威、全面的Hadoop參考書和工具書,闡述了Hadoop生態圈的最新發展和應用,程序員可以從中探索海量數據集的存儲和分析,管理員可以從中了解Hadoop集群的安裝和運維。

Tom White是最傑出的Hadoop專家之一。自2007年2月以來,Tom White一直是Apache Hadoop的提交者(committer),也是Apache軟件基金會的成員。Tom是Cloudera的軟件工程師,他是Cloudera的首批員工,對Apache和Cloudera做出了舉足輕重的貢獻。在此之前,他是一名獨立的Hadoop顧問,幫助公司搭建、使用和擴展Hadoop。他是很多行業大會的專題演講人,比如ApacheCon、OSCON和Strata。Tom在英國劍橋大學獲得數學學士學位,在利茲大學獲得科學哲學碩士學位。他目前與家人居住在威爾士。
 

目錄

第Ⅰ部分 Hadoop基礎知識
第1章 初識Hadoop 3
1.1 數據!數據! 3
1.2 數據的存儲與分析 5
1.3 查詢所有數據 6
1.4 不僅僅是批處理 7
1.5 相較於其他系統的優勢 8
1.5.1 關系型數據庫管理系統 8
1.5.2 網格計算 10
1.5.3 志願計算 11
1.6 Apache Hadoop發展簡史 12
1.7 本書包含的內容 16
第2章 關於MapReduce 19
2.1 氣象數據集 19
2.2 使用Unix工具來分析數據 21
2.3 使用Hadoop來分析數據 22
2.3.1 map和reduce 23
2.3.2 Java MapReduce 24
2.4 橫向擴展 31
2.4.1 數據流 31
2.4.2 biner函數 35
2.4.3 運行分布式的MapReduce作業 37
2.5 Hadoop Streaming 37
2.5.1 Ruby版本 38
2.5.2 Python版本 40
第3章 Hadoop分布式文件系統 42
3.1 HDFS的設計 42
3.2 HDFS的概念 44
3.2.1 數據塊 44
3.2.2 namenode和datanode 45
3.2.3 塊緩存 46
3.2.4 聯邦HDFS 47
3.2.5 HDFS的高可用性 47
3.3 命令行接口 50
3.4 Hadoop文件系統 52
3.5 Java接口 56
3.5.1 從Hadoop URL讀取數據 56
3.5.2 通過FileSystem API讀取數據 58
3.5.3 寫入數據 61
3.5.4 目錄 63
3.5.5 查詢文件系統 63
3.5.6 刪除數據 68
3.6 數據流 68
3.6.1 剖析文件讀取 68
3.6.2 剖析文件寫入 71
3.6.3 一致模型 74
3.7 通過distcp並行復制 76
第4章 關於YARN 78
4.1 剖析YARN應用運行機制 79
4.1.1 資源請求 80
4.1.2 應用生命期 81
4.1.3 構建YARN應用 81
4.2 YARN與MapReduce 1相比 82
4.3 YARN中的調度 85
4.3.1 調度選項 85
4.3.2 容量調度器配置 87
4.3.3 公平調度器配置 89
4.3.5 延遲調度 93
4.3.5 主導資源公平性 94
4.4 延伸閱讀 95
第5章 Hadoop的I/O操作 96
5.1 數據完整性 96
5.1.1 HDFS的數據完整性 97
5.1.2 LocalFileSystem 98
5.1.3 ChecksumFileSystem 98
5.2 壓縮 99
5.2.1 codec 100
5.2.2 壓縮和輸入分片 105
5.2.3 在MapReduce中使用壓縮 106
5.3 序列化 109
5.3.1 Writable接口 110
5.3.2 Writable類 112
5.3.3 實現定制的Writable集合 121
5.3.4 序列化框架 125
5.4 基於文件的數據結構 127
5.4.1 關於SequenceFile 127
5.4.2 關於MapFile 135
5.4.3 其他文件格式和面向列的格式 136

第Ⅱ部分 關於MapReduce
第6章 MapReduce應用開發 141
6.1 用於配置的API 142
6.1.1 資源合並 143
6.1.2 變量擴展 144
6.2 配置開發環境 144
6.2.1 管理配置 146
6.2.2 輔助類GenericOptionsParser,Tool和ToolRunner 149
6.3 用MRUnit來寫單元測試 152
6.3.1 關於Mapper 152
6.3.2 關於Reducer 156
6.4 本地運行測試數據 156
6.4.1 在本地作業運行器上運行作業 156
6.4.2 測試驅動程序 158
6.5 在集群上運行 160
6.5.1 打包作業 160
6.5.2 啟動作業 162
6.5.3 MapReduce的Web界面 165
6.5.4 獲取結果 167
6.5.5 作業調試 168
6.5.6 Hadoop日志 171
6.5.7 遠程調試 173
6.6 作業調優 174
6.7 MapReduce的工作流 176
6.7.1 將問題分解成MapReduce作業 177
6.7.2 關於JobControl 178
6.7.3 關於Apache Oozie 179
第7章 MapReduce的工作機制 184
7.1 剖析MapReduce作業運行機制 184
7.1.1 作業的提交 185
7.1.2 作業的初始化 186
7.1.3 任務的分配 187
7.1.4 任務的執行 188
7.1.5 進度和狀態的更新 189
7.1.6 作業的完成 191
7.2 失敗 191
7.2.1 任務運行失敗 191
7.2.2 application master運行失敗 193
7.2.3 節點管理器運行失敗 193
7.2.4 資源管理器運行失敗 194
7.3 shuffle和排序 195
7.3.1 map端 195
7.3.2 reduce端 197
7.3.3 配置調優 199
7.4 任務的執行 201
7.4.1 任務執行環境 201
7.4.2 推測執行 202
7.4.3 關於OutputCommitters 204
第8章 MapReduce的類型與格式 207
8.1 MapReduce的類型 207
8.1.1 默認的MapReduce作業 212
8.1.2 默認的Streaming作業 216
8.2 輸入格式 218
8.2.1 輸入分片與記錄 218
8.2.2 文本輸入 229
8.2.3 二進制輸入 233
8.2.4 多個輸入 234
8.2.5 數據庫輸入(和輸出) 235
8.3 輸出格式 236
8.3.1 文本輸出 236
8.3.2 二進制輸出 237
8.3.3 多個輸出 237
8.3.4 延遲輸出 242
8.3.5 數據庫輸出 242
第9章 MapReduce的特性 243
9.1 計數器 243
9.1.1 內置計數器 243
9.1.2 用戶定義的Java計數器 248
9.1.3 用戶定義的Streaming計數器 251
9.2 排序 252
9.2.1 准備 252
9.2.2 部分排序 253
9.2.3 全排序 255
9.2.4 輔助排序 259
9.3 連接 264
9.3.1 map端連接 266
9.3.2 reduce端連接 266
9.4 邊數據分布 270
9.4.1 利用JobConf來配置作業 270
9.4.2 分布式緩存 270
9.5 MapReduce庫類 276

第Ⅲ部分 Hadoop的操作
第10章 構建Hadoop集群 279
10.1 集群規范 280
10.1.1 集群規模 281
10.1.2 網絡拓撲 282
10.2 集群的構建和安裝 284
10.2.1 安裝Java 284
10.2.2 創建Unix 用戶賬號 284
10.2.3 安裝Hadoop 284
10.2.4 SSH配置 285
10.2.5 配置Hadoop 286
10.2.6 格式化HDFS 文件系統 286
10.2.7 啟動和停止守護進程 286
10.2.8 創建用戶目錄 288
10.3 Hadoop配置 288
10.3.1 配置管理 289
10.3.2 環境設置 290
10.3.3 Hadoop守護進程的關鍵屬性 293
10.3.4 Hadoop守護進程的地址和端口 300
10.3.5 Hadoop的其他屬性 303
10.4 安全性 305
10.4.1 Kerberos和Hadoop 306
10.4.2 委托令牌 308
10.4.3 其他安全性改進 309
10.5 利用基准評測程序測試Hadoop集群 311
10.5.1 Hadoop基准評測程序 311
10.5.2 用戶作業 313
第11章 管理Hadoop 314
11.1 HDFS 314
11.1.1 永久性數據結構 314
11.1.2 安全模式 320
11.1.3 日志審計 322
11.1.4 工具 322
11.2 監控 327
11.2.1 日志 327
11.2.2 度量和JMX(Java管理擴展) 328
11.3 維護 329
11.3.1 日常管理過程 329
11.3.2 委任和解除節點 331
11.3.3 升級 334

第Ⅳ部分 Hadoop相關開源項目
第12章 關於Avro 341
12.1 Avro數據類型和模式 342
12.2 內存中的序列化和反序列化特定API 347
12.3 Avro數據文件 349
12.4 互操作性 351
12.4.1 Python API 351
12.4.2 Avro工具集 352
12.5 模式解析 352
12.6 排列順序 354
12.7 關於Avro MapReduce 356
12.8 使用Avro MapReduce進行排序 359
12.9 其他語言的Avro 362
第13章 關於Parquet 363
13.1 數據模型 364
13.2 Parquet文件格式 367
13.3 Parquet的配置 368
13.4 Parquet文件的讀/寫 369
13.4.1 Avro、Protocol Buffers和Thrift 371
13.4.2 投影模式和讀取模式 373
13.5 Parquet MapReduce 374
第14章 關於Flume 377
14.1 安裝Flume 378
14.2 示例 378
14.3 事務和可靠性 380
14.4 HDFS Sink 382
14.5 扇出 385
14.5.1 交付保證 386
14.5.2 復制和復用選擇器 387
14.6 通過代理層分發 387
14.7 Sink組 391
14.8 Flume與應用程序的集成 395
14.9 組件編目 395
14.10 延伸閱讀 397
第15章 關於Sqoop 398
15.1 獲取Sqoop 398
15.2 Sqoop連接器 400
15.3 一個導入的例子 401
15.4 生成代碼 404
15.5 深入了解數據庫導入 405
15.5.1 導入控制 407
15.5.2 導入和一致性 408
15.5.3 增量導入 408
15.5.4 直接模式導入 408
15.6 使用導入的數據 409
15.7 導入大對象 412
15.8 執行導出 414
15.9 深入了解導出功能 416
15.9.1 導出與事務 417
15.9.2 導出和SequenceFile 418
15.10 延伸閱讀 419
第16章 關於Pig 420
16.1 安裝與運行Pig 421
16.1.1 執行類型 422
16.1.2 運行Pig程序 423
16.1.3 Grunt 424
16.1.4 Pig Latin編輯器 424
16.2 示例 425
16.3 與數據庫進行比較 428
16.4 PigLatin 429
16.4.1 結構 430
16.4.2 語句 431
16.4.3 表達式 436
16.4.4 類型 437
16.4.5 模式 438
16.4.6 函數 443
16.4.7 宏 445
16.5 用戶自定義函數 446
16.5.1 過濾UDF 447
16.5.2 計算UDF 450
16.5.3 加載UDF 452
16.6 數據處理操作 455
16.6.1 數據的加載和存儲 455
16.6.2 數據的過濾 455
16.6.3 數據的分組與連接 458
16.6.4 數據的排序 463
16.6.5 數據的組合和切分 465
16.7 Pig實戰 465
16.7.1 並行處理 465
16.7.2 匿名關系 466
16.7.3 參數代換 467
16.8 延伸閱讀 468
第17章 關於Hive 469
17.1 安裝Hive 470
Hive的shell環境 471
17.2 示例 472
17.3 運行Hive 473
17.3.1 配置Hive 473
17.3.2 Hive服務 476
17.3.3 Metastore 478
17.4 Hive與傳統數據庫相比 480
17.4.1 讀時模式vs.寫時模式 480
17.4.2 更新、事務和索引 481
17.4.3 其他SQL—on—Hadoop技術 482
17.5 HiveQL 483
17.5.1 數據類型 484
17.5.2 操作與函數 487
17.6 表 488
17.6.1 托管表和外部表 488
17.6.2 分區和桶 490
17.6.3 存儲格式 494
17.6.4 導入數據 498
17.6.5 表的修改 500
17.6.6 表的丟棄 501
17.7 查詢數據 501
17.7.1 排序和聚集 501
17.7.2 MapReduce腳本 502
17.7.3 連接 503
17.7.4 子查詢 506
17.7.5 視圖 507
17.8 用戶定義函數 508
17.8.1 寫UDF 510
17.8.2 寫UDAF 512
17.9 延伸閱讀 516
第18章 關於Crunch 517
18.1 示例 518
18.2 Crunch核心API 521
18.2.1 基本操作 522
18.2.2 類型 527
18.2.3 源和目標 530
18.2.4 函數 532
18.2.5 物化 535
18.3 管線執行 537
18.3.1 運行管線 538
18.3.2 停止管線 539
18.3.3 查看Crunch計划 540
18.3.4 迭代算法 543
18.3.5 給管線設置檢查點 544
18.4 Crunch庫 545
18.5 延伸閱讀 547
第19章 關於Spark 548
19.1 安裝Spark 549
19.2 示例 549
19.2.1 Spark應用、作業、階段和任務 551
19.2.2 Scala獨立應用 552
19.2.3 Java示例 553
19.2.4 Python示例 554
19.3 彈性分布式數據集 555
19.3.1 創建 555
19.3.2 轉換和動作 557
19.3.3 持久化 561
19.3.4 序列化 563
19.4 共享變量 564
19.4.1 廣播變量 564
19.4.2 累加器 565
19.5 剖析Spark作業運行機制 565
19.5.1 作業提交 566
19.5.2 DAG的構建 566
19.5.3 任務調度 569
19.5.4 任務執行 570
19.6 執行器和集群管理器 570
19.7 延伸閱讀 574
第20章 關於HBase 575
20.1 HBase基礎 575
20.2 概念 576
20.2.1 數據模型的「旋風之旅」 576
20.2.2 實現 578
20.3 安裝 581
20.4 客戶端 584
20.4.1 Java 584
20.4.2 MapReduce 588
20.4.3 REST和Thrift 589
20.5 創建在線查詢應用 589
20.5.1 模式設計 590
20.5.2 加載數據 591
20.5.3 在線查詢 595
20.6 HBase和RDBMS的比較 598
20.6.1 成功的服務 599
20.6.2 HBase 600
20.7 Praxis 601
20.7.1 HDFS 601
20.7.2 用戶界面 602
20.7.3 度量 602
20.7.4 計數器 602
20.8 延伸閱讀 602
第21章 關於ZooKeeper 604
21.1 安裝和運行ZooKeeper 605
21.2 示例 607
21.2.1 ZooKeeper中的組成員關系 608
21.2.2 創建組 608
21.2.3 加入組 611
21.2.4 列出組成員 612
21.2.5 刪除組 614
21.3 ZooKeeper服務 615
21.3.1 數據模型 615
21.3.2 操作 618
21.3.3 實現 622
21.3.4 一致性 624
21.3.5 會話 626
21.3.6 狀態 628
21.4 使用ZooKeeper來構建應用 629
21.4.1 配置服務 629
21.4.2 可復原的ZooKeeper應用 633
21.4.3 鎖服務 637
21.4.4 更多分布式數據結構和協議 639
21.5 生產環境中的ZooKeeper 640
21.5.1 可恢復性和性能 641
21.5.2 配置 642
21.6 延伸閱讀 643

第Ⅴ部分 案例學習
第22章 醫療公司塞納(Cerner)的可聚合數據 647
22.1 從多CPU到語義集成 647
22.2 進入Apache Crunch 648
22.3 建立全貌 649
22.4 集成健康醫療數據 651
22.5 框架之上的可組合性 654
22.6 下一步 655
第23章 生物數據科學:用軟件拯救生命 657
23.1 DNA的結構 659
23.2 遺傳密碼:將DNA字符轉譯為蛋白質 660
22.3 將DNA想象成源代碼 661
23.4 人類基因組計划和參考基因組 663
22.5 DNA測序和比對 664
23.6 ADAM,一個可擴展的基因組分析平台 666
23.7 使用Avro接口描述語言進行自然語言編程 666
23.8 使用Parquet進行面向列的存取 668
23.9 一個簡單例子:用Spark和ADAM做k—mer計數 669
23.10 從個性化廣告到個性化醫療 672
23.11 聯系我們 673
第24章 開源項目Cascading 674
24.1 字段、元組和管道 675
24.2 操作 678
24.3 Taps,Schemes和Flows 680
24.4 Cascading實踐應用 681
24.5 靈活性 684
24.6 ShareThis中的Hadoop和Cascading 685
24.7 總結 689

附錄A 安裝Apache Hadoop 691
附錄B 關於CDH 697
附錄C 准備NCDC氣象數據 699
附錄D 新版和舊版JavaMapReduce API 702
 

詳細資料

  • ISBN:9787302465133
  • 規格:705頁 / 普通級 / 4-1
  • 出版地:中國

最近瀏覽商品

 

相關活動

  • 【其他】2024采實電子書全書系:春暖花開‧享閱讀,參展書單書85折起、任選3本79折
 

購物說明

溫馨提醒您:若您訂單中有購買簡體館無庫存/預售書或庫存於海外廠商的書籍,建議與其他商品分開下單,以避免等待時間過長,謝謝。

大陸出版品書況:因裝幀品質及貨運條件未臻完善,書況與台灣出版品落差甚大,封面老舊、出現磨痕、凹痕等均屬常態,故簡體字館除封面破損、內頁脫落...等較嚴重的狀態外,其餘所有商品將正常出貨。 

 

請注意,部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

調貨時間:若您購買海外庫存之商品,於您完成訂購後,商品原則上約45個工作天內抵台(若有將延遲另行告知)。為了縮短等待的時間,建議您將簡體書與其它商品分開訂購,以利一般商品快速出貨。 

若您具有法人身份為常態性且大量購書者,或有特殊作業需求,建議您可洽詢「企業採購」。 

退換貨說明 

會員所購買的商品均享有到貨十天的猶豫期(含例假日)。退回之商品必須於猶豫期內寄回。 

辦理退換貨時,商品必須是全新狀態與完整包裝(請注意保持商品本體、配件、贈品、保證書、原廠包裝及所有附隨文件或資料的完整性,切勿缺漏任何配件或損毀原廠外盒)。退回商品無法回復原狀者,恐將影響退貨權益或需負擔部分費用。 

訂購本商品前請務必詳閱商品退換貨原則

  • 翦商作者新作79折
  • 針灸匠張寶旬
  • 浪漫小說精選3本72折