大數(shù)據(jù)開發(fā)者權(quán)威教程 NoSQL Hadoop組件及大數(shù)據(jù)實(shí)施
定 價(jià):109 元
- 作者:Wrox國(guó)際IT認(rèn)證項(xiàng)目組
- 出版時(shí)間:2018/12/1
- ISBN:9787115493712
- 出 版 社:人民郵電出版社
- 中圖法分類:TP311.138
- 頁碼:457
- 紙張:
- 版次:01
- 開本:16開
“大數(shù)據(jù)”近年來成為IT領(lǐng)域的熱點(diǎn)話題,人們每天都會(huì)通過互聯(lián)網(wǎng)、移動(dò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í)。本系列書以“大數(shù)據(jù)開發(fā)者”應(yīng)掌握的技術(shù)為主線,共分兩卷,以7個(gè)模塊分別介紹如何管理大數(shù)據(jù)生態(tài)系統(tǒng)、如何存儲(chǔ)和處理數(shù)據(jù)、如何利用Hadoop工具、如何利用NoSQL與Hadoop協(xié)同工作,以及如何利用Hadoop商業(yè)發(fā)行版和管理工具。本系列書涵蓋了大數(shù)據(jù)開發(fā)工作的核心內(nèi)容,全面且詳盡地涵蓋了大數(shù)據(jù)開發(fā)的各個(gè)領(lǐng)域。
本書為第2卷,共3個(gè)模塊,分別介紹Hadoop工具(如ZooKeeper、Sqoop、Flume、YARN和Storm等),利用NoSQL和Hadoop完成實(shí)時(shí)、安全和云的相關(guān)工作,以及Hadoop商業(yè)發(fā)行版和管理工具(如Cloudera、Hortonworks、Greenplum Pivotal HD等),最后介紹幾個(gè)實(shí)用軟件的功能、指南和安裝步驟。
本書適用于想成為大數(shù)據(jù)開發(fā)人員以及所有對(duì)大數(shù)據(jù)開發(fā)感興趣的技術(shù)人員和決策者閱讀。
學(xué)習(xí)方法和特色
◆ 涵蓋了大數(shù)據(jù)開發(fā)者必備的所有大數(shù)據(jù)和Hadoop基礎(chǔ)組件及相關(guān)組件的基本知識(shí),使參與者有可能在一個(gè)系列書中獲得對(duì)所有相關(guān)知識(shí)、新興技術(shù)和平臺(tái)的了解。
◆ 在與大數(shù)據(jù)架構(gòu)、大數(shù)據(jù)應(yīng)用程序開發(fā)以及與大數(shù)據(jù)實(shí)施相關(guān)的產(chǎn)業(yè)相關(guān)技術(shù)有著極密切關(guān)聯(lián)的編程和技術(shù)領(lǐng)域中,鍛煉自己全面的和結(jié)構(gòu)化的本領(lǐng)。
◆ 基于場(chǎng)景的學(xué)習(xí)方法,通過多種有代表性的現(xiàn)實(shí)場(chǎng)景的使用和案例研究,將IT 基礎(chǔ)知識(shí)融入現(xiàn)實(shí)環(huán)境,鼓勵(lì)參與者積極、全面地學(xué)習(xí)和研究,實(shí)現(xiàn)體驗(yàn)式教學(xué)。
◆ 強(qiáng)調(diào)目標(biāo)明確、基于成果的學(xué)習(xí)。每一講都以“本講目標(biāo)”開始,該目標(biāo)會(huì)進(jìn)一步關(guān)聯(lián)整個(gè)教程的更廣泛的目標(biāo)。
◆ 簡(jiǎn)明、循序漸進(jìn)的編程和編碼指導(dǎo),清晰地解釋每行代碼的基本原理。
◆ 強(qiáng)調(diào)高效、實(shí)用的過程和技術(shù),幫助參與者深入理解巧妙且符合道德倫理的專業(yè)實(shí)踐及其對(duì)業(yè)務(wù)的影響。
大數(shù)據(jù)是當(dāng)今科技行業(yè)的流行語之一。全世界的企業(yè)都已經(jīng)意識(shí)到可用的大量數(shù)據(jù)的價(jià)值,并盡最大努力來管理和分析數(shù)據(jù)、發(fā)揮其作用,以建立戰(zhàn)略和發(fā)展競(jìng)爭(zhēng)優(yōu)勢(shì)。與此同時(shí),這項(xiàng)技術(shù)的出現(xiàn),導(dǎo)致了各種新的和增強(qiáng)的工作角色的演變。
“大數(shù)據(jù)開發(fā)者權(quán)威教程”系列的目標(biāo)是培養(yǎng)新一代的國(guó)際化全能大數(shù)據(jù)程序員、開發(fā)者和技術(shù)專家,使其熟悉大數(shù)據(jù)的相關(guān)工具、平臺(tái)和架構(gòu),幫助企業(yè)有效地存儲(chǔ)、管理并處理海量和多樣的數(shù)據(jù)。同時(shí),本書還有助于讀者了解如何有效地整合、實(shí)現(xiàn)、定制和管理大數(shù)據(jù)基礎(chǔ)架構(gòu)。
本系列旨在為讀者提供處理大數(shù)據(jù)的技術(shù)、存儲(chǔ)、處理、管理和安全基礎(chǔ)架構(gòu)方面的技能,豐富讀者與Hadoop 及其組件工具協(xié)同工作的經(jīng)驗(yàn),并使其可以開發(fā)MapReduce和Pig程序,操縱分布式文件,以及了解支持MapReduce程序的API等。讀者同時(shí)可以熟悉一些流行的Hadoop 商業(yè)發(fā)行版系統(tǒng),如Cloudera、Hortonworks和Greenplum等。最后通過一個(gè)完整的項(xiàng)目介紹,使讀者能夠開發(fā)一個(gè)集成的大數(shù)據(jù)應(yīng)用程序。
本系列共兩卷,第1卷“大數(shù)據(jù)技術(shù)與編程基礎(chǔ)”包含4 個(gè)模塊,涉及大數(shù)據(jù)入門,管理大數(shù)據(jù)生態(tài)系統(tǒng),使用HDFS 和MapReduce 存儲(chǔ)和處理數(shù)據(jù),利用Hadoop工具(如Hive、Pig 和Oozie等)提升效率;第2卷“NoSQL、Hadoop組件及大數(shù)據(jù)實(shí)施”包含3個(gè)模塊,涉及ZooKeeper、Sqoop、Flume、YARN 和Storm等額外的Hadoop工具,如何利用NoSQL和Hadoop實(shí)現(xiàn)實(shí)時(shí)、安全和云,以及Hadoop商業(yè)發(fā)行版和管理工具簡(jiǎn)介。
本書作者均為國(guó)際知名IT培訓(xùn)機(jī)構(gòu)的知名講師,他們通過對(duì)技術(shù)、IT市場(chǎng)需求以及當(dāng)今就業(yè)培訓(xùn)方面的全球行業(yè)標(biāo)準(zhǔn)進(jìn)行了廣泛并嚴(yán)格的調(diào)研之后,集結(jié)成這套“大數(shù)據(jù)開發(fā)者權(quán)威教程”。作者們的目標(biāo)是通過這套書為有志于在大數(shù)據(jù)開發(fā)領(lǐng)域取得事業(yè)成功的人技術(shù)人員和決策者提供bi備的技術(shù)和技能。
譯者簡(jiǎn)介
顧晨,男,碩士、PMP、信息系統(tǒng)項(xiàng)目管理師。畢業(yè)于上海交通大學(xué)。曾獲邀參加舊金山的Google I/O大會(huì)。喜歡所有與編程相關(guān)的事物,擁有14年的編程經(jīng)驗(yàn)。對(duì)于大數(shù)據(jù)、SAP HANA數(shù)據(jù)庫和思科技術(shù)有著極其濃厚的興趣,是國(guó)內(nèi)較早從事HANA數(shù)據(jù)庫研究的人員之一。先后錄制了MCSE、CCNP等多種教學(xué)視頻,在多家知名網(wǎng)站發(fā)布。精通C#、Java編程,目前正致力于人臉識(shí)別、室內(nèi)定位和門店人流統(tǒng)計(jì)方面的研究。
目 錄
模塊1 額外的Hadoop工具:ZooKeeper、Sqoop、Flume、YARN和Storm
第1講 用ZooKeeper進(jìn)行分布式處理協(xié)調(diào) 3
1.1 ZooKeeper簡(jiǎn)介 4
1.1.1 ZooKeeper的好處 4
1.1.2 ZooKeeper術(shù)語 6
1.1.3 ZooKeeper命令行界面(CLI) 7
1.2 安裝和運(yùn)行ZooKeeper 9
1.2.1 支持的平臺(tái) 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)控?cái)?shù)據(jù) 19
1.5.4 實(shí)現(xiàn)屏障和生產(chǎn)者-消費(fèi)者隊(duì)列 22
練習(xí) 30
備忘單 33
第2講 利用Sqoop有效地傳輸批量數(shù)據(jù) 34
2.1 Sqoop簡(jiǎn)介 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 指定目標(biāo)目錄 43
2.3.4 導(dǎo)入選擇的行 43
2.3.5 密碼保護(hù) 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ū)動(dòng)程序和連接器 51
2.10.1 驅(qū)動(dòng)程序 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)勢(shì) 56
2.12.2 易于擴(kuò)展 56
2.12.3 安全 57
練習(xí) 58
備忘單 60
第3講 Flume 62
3.1 Flume簡(jiǎn)介 63
3.1.1 Flume架構(gòu) 64
3.1.2 流可靠性 66
3.2 Flume配置文件 66
3.2.1 流定義 67
3.2.2 配置單個(gè)組件 67
3.2.3 在代理中添加多個(gè)流 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ù)消費(fèi) 74
3.4 構(gòu)建Flume 77
3.4.1 獲得源點(diǎn) 77
3.4.2 編譯/測(cè)試Flume 77
3.4.3 開發(fā)自定義組件 77
練習(xí) 90
備忘單 92
第4講 超越MapReduce—YARN 94
4.1 YARN簡(jiǎn)介 95
4.2 為什么用YARN 96
4.2.1 提高可擴(kuò)展性 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簡(jiǎn)介 116
4.5.2 Mesos和Hadoop 118
練習(xí) 120
備忘單 122
第5講 Storm on YARN 124
5.1 Storm和Hadoop 125
5.2 Storm簡(jiǎn)介 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 排錯(cuò) 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 運(yùn)行示例 146
練習(xí) 148
備忘單 151
模塊2 利用NoSQL和Hadoop:實(shí)時(shí)、安全和云
第1講 Hello NoSQL 155
1.1 看兩個(gè)簡(jiǎn)單的例子 156
1.1.1 持久化偏好數(shù)據(jù)的一個(gè)簡(jiǎn)單集合——MongoDB 156
1.1.2 存儲(chǔ)汽車品牌和型號(hào)數(shù)據(jù)——Apache Cassandra 162
1.2 利用語言綁定進(jìn)行工作 171
1.2.1 MongoDB的驅(qū)動(dòng)程序 171
1.2.2 初識(shí)Thrift 174
1.3 存儲(chǔ)和訪問數(shù)據(jù) 177
1.4 在MongoDB中存儲(chǔ)和訪問數(shù)據(jù) 178
1.5 在HBase中存儲(chǔ)和訪問數(shù)據(jù) 185
1.6 在Apache Cassandra中存儲(chǔ)和訪問數(shù)據(jù) 189
1.7 NoSQL數(shù)據(jù)存儲(chǔ)的語言綁定 191
1.7.1 用Thrift進(jìn)行診斷 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 獲取評(píng)級(jí)數(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 認(rèn)證 239
3.2.1 Kerberos認(rèn)證 239
3.2.2 Kerberos RPC 244
3.2.3 基于Web的控制臺(tái)的Kerberos 245
3.3 委托安全憑證 248
3.4 授權(quán) 253
3.4.1 HDFS文件權(quán)限 253
3.4.2 服務(wù)級(jí)別授權(quán) 257
3.4.3 作業(yè)授權(quán) 260
練習(xí) 261
備忘單 263
第4講 在AWS上運(yùn)行Hadoop應(yīng)用程序 265
4.1 開始了解AWS 266
4.2 在AWS上運(yùn)行Hadoop的選項(xiàng) 267
4.2.1 使用EC2實(shí)例的自定義安裝 267
4.2.2 彈性MapReduce 268
4.3 了解EMR-Hadoop的關(guān)系 269
4.3.1 EMR架構(gòu) 270
4.3.2 使用S3存儲(chǔ) 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 利用控制臺(tái)的內(nèi)容瀏覽 282
4.4.3 編程訪問S3中的文件 283
4.4.4 使用MapReduce上傳多個(gè)文件至S3 294
4.5 自動(dòng)化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簡(jiǎn)單工作流 303
4.6.3 AWS數(shù)據(jù)管道 304
練習(xí) 306
備忘單 309
第5講 實(shí)時(shí)Hadoop 311
5.1 實(shí)時(shí)Hadoop應(yīng)用 312
5.2 使用HBase實(shí)現(xiàn)實(shí)時(shí)應(yīng)用 313
5.2.1 將HBase用作照片管理系統(tǒng) 315
5.2.2 將HBase用作Lucene的后端 322
5.3 使用專門的實(shí)時(shí)Hadoop查詢系統(tǒng) 342
5.3.1 Apache Drill 344
5.3.2 Impala 345
5.3.3 將實(shí)時(shí)查詢系統(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ù)簡(jiǎn)介 359
1.1 Cloudera基礎(chǔ) 360
1.1.1 包含Apache Hadoop的Cloudera發(fā)行版 360
1.1.2 Cloudera管理器 361
1.1.3 Cloudera標(biāo)準(zhǔn)版 362
1.1.4 Cloudera企業(yè)版 363
1.2 Cloudera管理器簡(jiǎn)介 365
1.3 Cloudera管理器的管理控制臺(tái) 367
1.3.1 啟動(dòng)并登錄管理控制臺(tái) 370
1.3.2 主頁 370
1.4 添加和管理服務(wù) 371
1.4.1 添加新服務(wù) 371
1.4.2 啟動(dòng)服務(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簡(jiǎn)介 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 升級(jí)Cloudera管理器 382
2.3 為Hive元存儲(chǔ)配置模式 383
2.3.1 嵌入模式 383
2.3.2 本地模式 384
2.3.3 遠(yuǎn)程模式 385
2.4 配置Hive元存儲(chǔ) 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ù)平臺(tái) 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)建一個(gè)受支持的環(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簡(jiǎn)介 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控制臺(tái) 428
4.1.6 InfoSphere BigInsights的Eclipse工具 429
4.2 安裝準(zhǔn)備 430
4.2.1 復(fù)核系統(tǒng)需求 431
4.2.2 選擇一個(gè)用戶 431
4.2.3 配置瀏覽器 432
4.2.4 下載InfoSphere BigInsights 437
4.2.5 完成常見先決條件的任務(wù) 437
4.3 安裝InfoSphere BigInsights 440
4.4 MapR簡(jiǎn)介 442
練習(xí) 445
備忘單 447
第5講 應(yīng)聘準(zhǔn)備 449
5.1 大數(shù)據(jù)開發(fā)者需要的關(guān)鍵技術(shù)工具和框架 451
5.2 大數(shù)據(jù)開發(fā)者的工作角色和職責(zé) 452
5.3 大數(shù)據(jù)開發(fā)者職業(yè)機(jī)會(huì)領(lǐng)域 453