日本被黑人强伦姧人妻完整版,日本片在线看的免费网站,极品少妇被猛得白浆直流草莓视频,中文字幕日韩一区二区三区不卡

數據產品

——? PRODUCTS CENTER? ——

《Hadoop權威指南:大數據的存儲與分析》
更新時間:2023/04/01
《Hadoop權威指南:大數據的存儲與分析》

內容簡介

本書結合理論和實踐,由淺入深,全方位介紹了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在英國劍橋大學獲得數學學士學位,在利茲大學獲得科學哲學碩士學位。他目前與家人居住在威爾士。

 

譯者簡介

王海博士,解放軍理工大學通信工程學院教授,博導,教研中心主任,長期從事無線自組網網絡的設計與研發工作,主持國家自然科學基金、國家863計劃課題等多項*課題,近5年獲軍隊科技進步二等獎1項,三等獎6項,作為發明人申請國家發明專利十余項,發表學術論文50余篇。

 

華東博士,現任南京醫科大學計算機教研室教師,一直致力于計算機輔助教學的相關技術研究,陸續開發了人體解剖學網絡自主學習考試平臺、診斷學自主學習平臺和面向執業醫師考試的預約化考試平臺等系統,并在各個學科得到廣泛的使用,獲得全國高等學校計算機課件評比一等獎和三等獎各一項。主編、副主編教材兩部,獲發明專利一項、軟件著作權多項。

 

劉喻博士,長期從事軟件開發、軟件測試和軟件工程化管理工作,目前任教于清華大學軟件所。

 

呂粵海,長期從事軍事通信網絡技術研究與軟件開發工作,先后通過華為光網絡高級工程師認證、思科網絡工程師認證。


目  錄

Ⅰ部分  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  combiner函數 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  新版和舊版Java
MapReduce API 702



上一頁:已經為第一條
上一頁:已經為第一條

相關推薦

在線咨詢

在線留言