大數(shù)據(jù)開發(fā)者權(quán)威教程 NoSQL Hadoop組件及大數(shù)據(jù)實施
定 價:109 元
- 作者:Wrox國際IT認證項目組
- 出版時間:2018/12/1
- ISBN:9787115493712
- 出 版 社:人民郵電出版社
- 中圖法分類:TP311.138
- 頁碼:457
- 紙張:
- 版次:01
- 開本:16開
“大數(shù)據(jù)”近年來成為IT領(lǐng)域的熱點話題,人們每天都會通過互聯(lián)網(wǎng)、移動設(shè)備等產(chǎn)生大量數(shù)據(jù)。如何管理大數(shù)據(jù)、掌握大數(shù)據(jù)的核心技術(shù)、理解大數(shù)據(jù)相關(guān)的生態(tài)系統(tǒng)等,是作為大數(shù)據(jù)開發(fā)者必須學(xué)習(xí)和熟練掌握的知識。本系列書以“大數(shù)據(jù)開發(fā)者”應(yīng)掌握的技術(shù)為主線,共分兩卷,以7個模塊分別介紹如何管理大數(shù)據(jù)生態(tài)系統(tǒng)、如何存儲和處理數(shù)據(jù)、如何利用Hadoop工具、如何利用NoSQL與Hadoop協(xié)同工作,以及如何利用Hadoop商業(yè)發(fā)行版和管理工具。本系列書涵蓋了大數(shù)據(jù)開發(fā)工作的核心內(nèi)容,全面且詳盡地涵蓋了大數(shù)據(jù)開發(fā)的各個領(lǐng)域。
本書為第2卷,共3個模塊,分別介紹Hadoop工具(如ZooKeeper、Sqoop、Flume、YARN和Storm等),利用NoSQL和Hadoop完成實時、安全和云的相關(guān)工作,以及Hadoop商業(yè)發(fā)行版和管理工具(如Cloudera、Hortonworks、Greenplum Pivotal HD等),最后介紹幾個實用軟件的功能、指南和安裝步驟。
本書適用于想成為大數(shù)據(jù)開發(fā)人員以及所有對大數(shù)據(jù)開發(fā)感興趣的技術(shù)人員和決策者閱讀。
學(xué)習(xí)方法和特色
◆ 涵蓋了大數(shù)據(jù)開發(fā)者必備的所有大數(shù)據(jù)和Hadoop基礎(chǔ)組件及相關(guān)組件的基本知識,使參與者有可能在一個系列書中獲得對所有相關(guān)知識、新興技術(shù)和平臺的了解。
◆ 在與大數(shù)據(jù)架構(gòu)、大數(shù)據(jù)應(yīng)用程序開發(fā)以及與大數(shù)據(jù)實施相關(guān)的產(chǎn)業(yè)相關(guān)技術(shù)有著極密切關(guān)聯(lián)的編程和技術(shù)領(lǐng)域中,鍛煉自己全面的和結(jié)構(gòu)化的本領(lǐng)。
◆ 基于場景的學(xué)習(xí)方法,通過多種有代表性的現(xiàn)實場景的使用和案例研究,將IT 基礎(chǔ)知識融入現(xiàn)實環(huán)境,鼓勵參與者積極、全面地學(xué)習(xí)和研究,實現(xiàn)體驗式教學(xué)。
◆ 強調(diào)目標明確、基于成果的學(xué)習(xí)。每一講都以“本講目標”開始,該目標會進一步關(guān)聯(lián)整個教程的更廣泛的目標。
◆ 簡明、循序漸進的編程和編碼指導(dǎo),清晰地解釋每行代碼的基本原理。
◆ 強調(diào)高效、實用的過程和技術(shù),幫助參與者深入理解巧妙且符合道德倫理的專業(yè)實踐及其對業(yè)務(wù)的影響。
大數(shù)據(jù)是當今科技行業(yè)的流行語之一。全世界的企業(yè)都已經(jīng)意識到可用的大量數(shù)據(jù)的價值,并盡最大努力來管理和分析數(shù)據(jù)、發(fā)揮其作用,以建立戰(zhàn)略和發(fā)展競爭優(yōu)勢。與此同時,這項技術(shù)的出現(xiàn),導(dǎo)致了各種新的和增強的工作角色的演變。
“大數(shù)據(jù)開發(fā)者權(quán)威教程”系列的目標是培養(yǎng)新一代的國際化全能大數(shù)據(jù)程序員、開發(fā)者和技術(shù)專家,使其熟悉大數(shù)據(jù)的相關(guān)工具、平臺和架構(gòu),幫助企業(yè)有效地存儲、管理并處理海量和多樣的數(shù)據(jù)。同時,本書還有助于讀者了解如何有效地整合、實現(xiàn)、定制和管理大數(shù)據(jù)基礎(chǔ)架構(gòu)。
本系列旨在為讀者提供處理大數(shù)據(jù)的技術(shù)、存儲、處理、管理和安全基礎(chǔ)架構(gòu)方面的技能,豐富讀者與Hadoop 及其組件工具協(xié)同工作的經(jīng)驗,并使其可以開發(fā)MapReduce和Pig程序,操縱分布式文件,以及了解支持MapReduce程序的API等。讀者同時可以熟悉一些流行的Hadoop 商業(yè)發(fā)行版系統(tǒng),如Cloudera、Hortonworks和Greenplum等。最后通過一個完整的項目介紹,使讀者能夠開發(fā)一個集成的大數(shù)據(jù)應(yīng)用程序。
本系列共兩卷,第1卷“大數(shù)據(jù)技術(shù)與編程基礎(chǔ)”包含4 個模塊,涉及大數(shù)據(jù)入門,管理大數(shù)據(jù)生態(tài)系統(tǒng),使用HDFS 和MapReduce 存儲和處理數(shù)據(jù),利用Hadoop工具(如Hive、Pig 和Oozie等)提升效率;第2卷“NoSQL、Hadoop組件及大數(shù)據(jù)實施”包含3個模塊,涉及ZooKeeper、Sqoop、Flume、YARN 和Storm等額外的Hadoop工具,如何利用NoSQL和Hadoop實現(xiàn)實時、安全和云,以及Hadoop商業(yè)發(fā)行版和管理工具簡介。
本書作者均為國際知名IT培訓(xùn)機構(gòu)的知名講師,他們通過對技術(shù)、IT市場需求以及當今就業(yè)培訓(xùn)方面的全球行業(yè)標準進行了廣泛并嚴格的調(diào)研之后,集結(jié)成這套“大數(shù)據(jù)開發(fā)者權(quán)威教程”。作者們的目標是通過這套書為有志于在大數(shù)據(jù)開發(fā)領(lǐng)域取得事業(yè)成功的人技術(shù)人員和決策者提供bi備的技術(shù)和技能。
譯者簡介
顧晨,男,碩士、PMP、信息系統(tǒng)項目管理師。畢業(yè)于上海交通大學(xué)。曾獲邀參加舊金山的Google I/O大會。喜歡所有與編程相關(guān)的事物,擁有14年的編程經(jīng)驗。對于大數(shù)據(jù)、SAP HANA數(shù)據(jù)庫和思科技術(shù)有著極其濃厚的興趣,是國內(nèi)較早從事HANA數(shù)據(jù)庫研究的人員之一。先后錄制了MCSE、CCNP等多種教學(xué)視頻,在多家知名網(wǎng)站發(fā)布。精通C#、Java編程,目前正致力于人臉識別、室內(nèi)定位和門店人流統(tǒng)計方面的研究。
目 錄
模塊1 額外的Hadoop工具:ZooKeeper、Sqoop、Flume、YARN和Storm
第1講 用ZooKeeper進行分布式處理協(xié)調(diào) 3
1.1 ZooKeeper簡介 4
1.1.1 ZooKeeper的好處 4
1.1.2 ZooKeeper術(shù)語 6
1.1.3 ZooKeeper命令行界面(CLI) 7
1.2 安裝和運行ZooKeeper 9
1.2.1 支持的平臺 9
1.2.2 所需的軟件 9
1.2.3 單服務(wù)器的安裝 9
1.3 使用ZooKeeper 10
1.4 ZooKeeper應(yīng)用程序 12
1.4.1 FS爬取 13
1.4.2 Katta 14
1.4.3 Yahoo!消息代理(YMB) 14
1.5 使用ZooKeeper構(gòu)建應(yīng)用程序 15
1.5.1 Exec.java 15
1.5.2 處理事件 17
1.5.3 監(jiān)控數(shù)據(jù) 19
1.5.4 實現(xiàn)屏障和生產(chǎn)者-消費者隊列 22
練習(xí) 30
備忘單 33
第2講 利用Sqoop有效地傳輸批量數(shù)據(jù) 34
2.1 Sqoop簡介 35
2.1.1 Sqoop中的工作流 36
2.1.2 Sqoop的特性 36
2.2 使用Sqoop 1 37
2.3 用Sqoop導(dǎo)入數(shù)據(jù) 41
2.3.1 導(dǎo)入完整的表 41
2.3.2 用HBase Sqoop導(dǎo)入帶有復(fù)合鍵的表 42
2.3.3 指定目標目錄 43
2.3.4 導(dǎo)入選擇的行 43
2.3.5 密碼保護 44
2.3.6 用不同的文件格式導(dǎo)入數(shù)據(jù) 44
2.3.7 導(dǎo)入數(shù)據(jù)壓縮 45
2.4 控制并行 45
2.5 編碼NULL值 47
2.6 將數(shù)據(jù)導(dǎo)入Hive表 47
2.7 將數(shù)據(jù)導(dǎo)入HBase 47
2.7.1 使用自由形式查詢 48
2.7.2 重命名Sqoop作業(yè) 48
2.8 導(dǎo)出數(shù)據(jù) 49
2.8.1 批量導(dǎo)出 50
2.8.2 原子導(dǎo)出 50
2.9 將數(shù)據(jù)導(dǎo)出至列的子集 50
2.10 Sqoop中的驅(qū)動程序和連接器 51
2.10.1 驅(qū)動程序 51
2.10.2 連接器 52
2.10.3 連接到數(shù)據(jù)庫 52
2.11 Sqoop架構(gòu)概覽 54
2.12 Sqoop 2 55
2.12.1 Sqoop 2的優(yōu)勢 56
2.12.2 易于擴展 56
2.12.3 安全 57
練習(xí) 58
備忘單 60
第3講 Flume 62
3.1 Flume簡介 63
3.1.1 Flume架構(gòu) 64
3.1.2 流可靠性 66
3.2 Flume配置文件 66
3.2.1 流定義 67
3.2.2 配置單個組件 67
3.2.3 在代理中添加多個流 68
3.2.4 配置多代理流 69
3.2.5 配置流扇出 70
3.3 設(shè)置Flume 71
3.3.1 安裝Flume 71
3.3.2 配置Flume代理 72
3.3.3 數(shù)據(jù)消費 74
3.4 構(gòu)建Flume 77
3.4.1 獲得源點 77
3.4.2 編譯/測試Flume 77
3.4.3 開發(fā)自定義組件 77
練習(xí) 90
備忘單 92
第4講 超越MapReduce—YARN 94
4.1 YARN簡介 95
4.2 為什么用YARN 96
4.2.1 提高可擴展性 96
4.2.2 效率 97
4.2.3 集群共享 97
4.3 YARN生態(tài)系統(tǒng) 98
4.3.1 YARN架構(gòu) 99
4.3.2 資源 100
4.3.3 資源管理器 101
4.3.4 ApplicationMaster 103
4.3.5 YARN的局限性 106
4.4 YARN API例子 107
4.4.1 YARN應(yīng)用程序剖析 107
4.4.2 客戶端 108
4.4.3 把它們整合到一起 115
4.5 Mesos和YARN的比較 116
4.5.1 Mesos簡介 116
4.5.2 Mesos和Hadoop 118
練習(xí) 120
備忘單 122
第5講 Storm on YARN 124
5.1 Storm和Hadoop 125
5.2 Storm簡介 126
5.2.1 Storm架構(gòu) 126
5.2.2 Storm應(yīng)用剖析 129
5.3 Storm API 132
5.3.1 spout 132
5.3.2 bolt 134
5.4 Storm on YARN 134
5.4.1 Storm on YARN架構(gòu) 135
5.4.2 Storm on YARN的局限性 136
5.5 安裝Storm on YARN 136
5.5.1 先決條件 136
5.5.2 安裝步驟 137
5.5.3 排錯 138
5.5.4 管理YARN on Storm 138
5.6 Storm on YARN的例子 139
5.6.1 傳感器數(shù)據(jù)spout 139
5.6.2 儀表盤bolt 140
5.6.3 HDFS日志記錄器bolt 142
5.6.4 主程序 144
5.6.5 運行示例 146
練習(xí) 148
備忘單 151
模塊2 利用NoSQL和Hadoop:實時、安全和云
第1講 Hello NoSQL 155
1.1 看兩個簡單的例子 156
1.1.1 持久化偏好數(shù)據(jù)的一個簡單集合——MongoDB 156
1.1.2 存儲汽車品牌和型號數(shù)據(jù)——Apache Cassandra 162
1.2 利用語言綁定進行工作 171
1.2.1 MongoDB的驅(qū)動程序 171
1.2.2 初識Thrift 174
1.3 存儲和訪問數(shù)據(jù) 177
1.4 在MongoDB中存儲和訪問數(shù)據(jù) 178
1.5 在HBase中存儲和訪問數(shù)據(jù) 185
1.6 在Apache Cassandra中存儲和訪問數(shù)據(jù) 189
1.7 NoSQL數(shù)據(jù)存儲的語言綁定 191
1.7.1 用Thrift進行診斷 191
1.7.2 Java的語言綁定 191
1.7.3 PHP的語言綁定 194
練習(xí) 195
備忘單 198
第2講 使用NoSQL 199
2.1 創(chuàng)建記錄 200
2.2 訪問數(shù)據(jù) 213
2.2.1 訪問來自MongoDB的文檔 213
2.2.2 訪問來自HBase的數(shù)據(jù) 214
2.2.3 查詢Redis 215
2.3 更新和刪除數(shù)據(jù) 216
2.4 MongoDB查詢語言的能力 217
2.4.1 加載MovieLens數(shù)據(jù) 219
2.4.2 獲取評級數(shù)據(jù) 221
2.4.3 MongoDB中的MapReduce 224
2.5 訪問來自HBase這樣的面向列的數(shù)據(jù)庫的數(shù)據(jù) 228
練習(xí) 230
備忘單 234
第3講 Hadoop安全 236
3.1 Hadoop安全挑戰(zhàn) 238
3.2 認證 239
3.2.1 Kerberos認證 239
3.2.2 Kerberos RPC 244
3.2.3 基于Web的控制臺的Kerberos 245
3.3 委托安全憑證 248
3.4 授權(quán) 253
3.4.1 HDFS文件權(quán)限 253
3.4.2 服務(wù)級別授權(quán) 257
3.4.3 作業(yè)授權(quán) 260
練習(xí) 261
備忘單 263
第4講 在AWS上運行Hadoop應(yīng)用程序 265
4.1 開始了解AWS 266
4.2 在AWS上運行Hadoop的選項 267
4.2.1 使用EC2實例的自定義安裝 267
4.2.2 彈性MapReduce 268
4.3 了解EMR-Hadoop的關(guān)系 269
4.3.1 EMR架構(gòu) 270
4.3.2 使用S3存儲 271
4.3.3 最大化地利用EMR 272
4.3.4 使用CloudWatch和其他AWS組件 274
4.3.5 訪問和使用EMR 274
4.4 使用AWS S3 280
4.4.1 了解桶的用法 280
4.4.2 利用控制臺的內(nèi)容瀏覽 282
4.4.3 編程訪問S3中的文件 283
4.4.4 使用MapReduce上傳多個文件至S3 294
4.5 自動化EMR作業(yè)流的創(chuàng)建和作業(yè)執(zhí)行 296
4.6 組織協(xié)調(diào)EMR中作業(yè)的執(zhí)行 301
4.6.1 使用EMR集群上的Oozie 301
4.6.2 AWS簡單工作流 303
4.6.3 AWS數(shù)據(jù)管道 304
練習(xí) 306
備忘單 309
第5講 實時Hadoop 311
5.1 實時Hadoop應(yīng)用 312
5.2 使用HBase實現(xiàn)實時應(yīng)用 313
5.2.1 將HBase用作照片管理系統(tǒng) 315
5.2.2 將HBase用作Lucene的后端 322
5.3 使用專門的實時Hadoop查詢系統(tǒng) 342
5.3.1 Apache Drill 344
5.3.2 Impala 345
5.3.3 將實時查詢系統(tǒng)與MapReduce比較 347
5.4 使用基于Hadoop的事件處理系統(tǒng) 347
5.4.1 HFlame 348
5.4.2 Storm 350
5.4.3 將事件處理與MapReduce作比較 352
練習(xí) 353
備忘單 356
模塊3 Hadoop商業(yè)發(fā)行版和管理工具
第1講 大數(shù)據(jù)簡介 359
1.1 Cloudera基礎(chǔ) 360
1.1.1 包含Apache Hadoop的Cloudera發(fā)行版 360
1.1.2 Cloudera管理器 361
1.1.3 Cloudera標準版 362
1.1.4 Cloudera企業(yè)版 363
1.2 Cloudera管理器簡介 365
1.3 Cloudera管理器的管理控制臺 367
1.3.1 啟動并登錄管理控制臺 370
1.3.2 主頁 370
1.4 添加和管理服務(wù) 371
1.4.1 添加新服務(wù) 371
1.4.2 啟動服務(wù) 372
1.4.3 停止服務(wù) 372
1.4.4 重啟服務(wù) 373
1.5 使用Cloudera管理器的業(yè)務(wù)案例 373
1.6 Cloudera管理器的安裝要求 374
練習(xí) 375
備忘單 377
第2講 Cloudera上的Hive和Cloudera管理 379
2.1 Apache Hive簡介 380
2.1.1 Hive特性 380
2.1.2 HiveQL 380
2.2 Hive服務(wù) 381
2.2.1 Hive元數(shù)據(jù)服務(wù)器 382
2.2.2 Hive網(wǎng)關(guān) 382
2.2.3 升級Cloudera管理器 382
2.3 為Hive元存儲配置模式 383
2.3.1 嵌入模式 383
2.3.2 本地模式 384
2.3.3 遠程模式 385
2.4 配置Hive元存儲 386
2.4.1 Red Hat操作系統(tǒng) 386
2.4.2 SLES操作系統(tǒng) 388
2.4.3 Debian/Ubuntu操作系統(tǒng) 388
2.5 為Hive設(shè)置Cloudera Manager 4.5 389
2.6 Hive復(fù)制 391
練習(xí) 394
備忘單 396
第3講 Hortonworks和Greenplum Pivotal HD 397
3.1 Hortonworks數(shù)據(jù)平臺 398
3.1.1 核心服務(wù) 400
3.1.2 數(shù)據(jù)服務(wù) 400
3.1.3 操作服務(wù) 401
3.2 系統(tǒng)需求和環(huán)境 402
3.2.1 系統(tǒng)需求 402
3.2.2 構(gòu)建一個受支持的環(huán)境 404
3.3 安裝HDP 405
3.4 使用Talend Open Studio 409
3.4.1 安裝Talend Open Studio 410
3.4.2 將數(shù)據(jù)導(dǎo)入Talend Open Studio 411
3.4.3 執(zhí)行數(shù)據(jù)分析 413
3.5 Greenplum Pivotal HD 417
練習(xí) 420
備忘單 422
第4講 IBM InfoSphere BigInsights和MapR 424
4.1 InfoSphere BigInsights簡介 425
4.1.1 Apache Hadoop發(fā)行版的InfoSphere BigInsights組件 426
4.1.2 額外的Hadoop技術(shù) 427
4.1.3 文本分析 428
4.1.4 IBM Big SQL服務(wù)器 428
4.1.5 InfoSphere BigInsights控制臺 428
4.1.6 InfoSphere BigInsights的Eclipse工具 429
4.2 安裝準備 430
4.2.1 復(fù)核系統(tǒng)需求 431
4.2.2 選擇一個用戶 431
4.2.3 配置瀏覽器 432
4.2.4 下載InfoSphere BigInsights 437
4.2.5 完成常見先決條件的任務(wù) 437
4.3 安裝InfoSphere BigInsights 440
4.4 MapR簡介 442
練習(xí) 445
備忘單 447
第5講 應(yīng)聘準備 449
5.1 大數(shù)據(jù)開發(fā)者需要的關(guān)鍵技術(shù)工具和框架 451
5.2 大數(shù)據(jù)開發(fā)者的工作角色和職責 452
5.3 大數(shù)據(jù)開發(fā)者職業(yè)機會領(lǐng)域 453