基于Hadoop與Spark的大數(shù)據(jù)開發(fā)實(shí)戰(zhàn)
定 價(jià):66.8 元
叢書名:新技術(shù)技能人才培養(yǎng)系列教程
- 作者:肖睿 丁科 吳剛山
- 出版時(shí)間:2018/4/1
- ISBN:9787115477644
- 出 版 社:人民郵電出版社
- 中圖法分類:TP274
- 頁碼:367
- 紙張:
- 版次:01
- 開本:16開
大數(shù)據(jù)技術(shù)讓我們以一種前所未有的方式,對(duì)海量數(shù)據(jù)進(jìn)行分析,從中獲得有巨大價(jià)值的產(chǎn)品和服務(wù),最終形成變革之力。本書圍繞Hadoop和Spark兩個(gè)主流大數(shù)據(jù)技術(shù)進(jìn)行講解,主要內(nèi)容包括Hadoop環(huán)境配置、Hadoop分布式文件系統(tǒng)(HDFS)、Hadoop分布式計(jì)算框架MapReduce、Hadoop資源調(diào)度框架YARN與Hadoop新特性、Hadoop分布式數(shù)據(jù)庫HBase、數(shù)據(jù)倉庫Hive、大數(shù)據(jù)離線處理輔助系統(tǒng)、Spark Core、Spark SQL、Spark Streaming等知識(shí)。
本書緊密結(jié)合實(shí)際應(yīng)用,運(yùn)用大量案例說明和實(shí)踐,提煉含金量十足的開發(fā)經(jīng)驗(yàn)。另外,本書配以多元的學(xué)習(xí)資源和支持服務(wù),包括視頻教程、案例素材下載、學(xué)習(xí)交流社區(qū)、討論組等學(xué)習(xí)內(nèi)容,為讀者帶來全方位的學(xué)習(xí)體驗(yàn)。
1、選取知識(shí)點(diǎn)核心實(shí)用,以互聯(lián)網(wǎng)+實(shí)現(xiàn)終身學(xué)習(xí)
2、以企業(yè)需求為設(shè)計(jì)導(dǎo)向,以任務(wù)驅(qū)動(dòng)為講解方式
3、以案例為主線組織知識(shí)點(diǎn),以實(shí)戰(zhàn)項(xiàng)目來提升技術(shù)
4、充分考慮學(xué)習(xí)者的認(rèn)知曲線,由淺入深,邊講邊練
肖睿任職于北京課工場(chǎng)教育科技有限公司。課工場(chǎng)是專注互聯(lián)網(wǎng)教育的生態(tài)平臺(tái),匯聚了中國(guó)和北美數(shù)百位來自知名互聯(lián)網(wǎng)企業(yè)的行業(yè)大咖,向?qū)で缶蜆I(yè)和技術(shù)提升的人群提供直播、錄播、面授等多模式教學(xué)場(chǎng)景,并通過遍布全國(guó)的線下服務(wù)中心提供成熟的學(xué)習(xí)服務(wù),形成完善的“互聯(lián)網(wǎng)+教育”解決方案。同時(shí),課工場(chǎng)也為高校、企業(yè)、行業(yè)提供教育技術(shù)賦能,依托Transformer智能教育生態(tài)平臺(tái),打造智慧校園、企業(yè)大學(xué)、行業(yè)培訓(xùn)的教育場(chǎng)景,提供一站式教育解決方案。
序言
前言
關(guān)于引用作品的版權(quán)聲明
第 1章Hadoop初體驗(yàn) 1
任務(wù)1初識(shí)大數(shù)據(jù) 2
1.1.1 大數(shù)據(jù)基本概念 2
1.1.2 大數(shù)據(jù)帶來的挑戰(zhàn) 3
任務(wù)2初識(shí)Hadoop 3
1.2.1 Hadoop概述 4
1.2.2 Hadoop生態(tài)圈 6
1.2.3 Hadoop應(yīng)用案例 8
任務(wù)3安裝Hadoop平臺(tái) 9
1.3.1 安裝虛擬機(jī) 10
1.3.2 安裝Linux系統(tǒng) 13
1.3.3 安裝Hadoop偽分布式環(huán)境 30
本章總結(jié) 34
本章練習(xí) 34
第 2章Hadoop分布式文件系統(tǒng) 35
任務(wù)1HDFS入門 36
2.1.1 認(rèn)識(shí)HDFS 36
2.1.2 HDFS基礎(chǔ) 38
2.1.3 HDFS架構(gòu) 40
任務(wù)2HDFS基本操作 41
2.2.1 使用HDFS shell訪問 41
2.2.2 使用Java API訪問 45
任務(wù)3HDFS運(yùn)行原理 48
2.3.1 HDFS讀寫流程 49
2.3.2 HDFS副本機(jī)制 50
2.3.3 HDFS負(fù)載均衡 51
2.3.4 HDFS機(jī)架感知 52
任務(wù)4HDFS高級(jí)知識(shí) 53
2.4.1 Hadoop序列化機(jī)制 53
2.4.2 SequenceFile 58
2.4.3 MapFile 63
本章總結(jié) 65
本章練習(xí) 66
第3章Hadoop分布式計(jì)算框架 67
任務(wù)1認(rèn)識(shí)MapReduce編程模型 68
3.1.1 MapReduce基礎(chǔ) 68
3.1.2 MapReduce編程模型 69
3.1.3 MapReduce詞頻統(tǒng)計(jì)編程實(shí)例 70
任務(wù)2MapReduce應(yīng)用開發(fā) 75
3.2.1 MapReduce輸入/輸出類型 75
3.2.2 MapReduce輸入格式 76
3.2.3 MapReduce輸出格式 78
3.2.4 Combiner操作 79
3.2.5 Partitioner操作 82
3.2.6 自定義RecordReader 86
任務(wù)3MapReduce高級(jí)應(yīng)用 92
3.3.1 使用MapReduce實(shí)現(xiàn)join操作 93
3.3.2 使用MapReduce實(shí)現(xiàn)排序 100
3.3.3 使用MapReduce實(shí)現(xiàn)二次排序 103
3.3.4 使用MapReduce合并小文件 108
本章總結(jié) 113
本章練習(xí) 113
第4章Hadoop新特性 115
任務(wù)1初識(shí)YARN 116
4.1.1 YARN產(chǎn)生背景 116
4.1.2 YARN簡(jiǎn)介 117
4.1.3 YARN架構(gòu)設(shè)計(jì) 119
任務(wù)2了解HDFS新特性 121
4.2.1 HDFS NameNode 高可用機(jī)制 121
4.2.2 HDFS NameNode Federation 129
4.2.3 HDFS Snapshots 130
4.2.4 HDFS REST API 134
4.2.5 DistCp工具 134
任務(wù)3了解YARN新特性 135
4.3.1 ResourceManager自動(dòng)重啟 135
4.3.2 ResourceManager高可用機(jī)制 136
本章總結(jié) 139
本章練習(xí) 139
第5章Hadoop分布式數(shù)據(jù)庫 141
任務(wù)1認(rèn)識(shí)HBase 142
5.1.1HBase簡(jiǎn)介 142
5.1.2 HBase體系結(jié)構(gòu) 143
5.1.3HBase數(shù)據(jù)模型 145
5.1.4HBase的安裝 148
任務(wù)2HBase Shell操作 155
5.2.1 HBase Shell簡(jiǎn)介 155
5.2.2 HBase Shell的使用 156
任務(wù)3HBase編程 162
5.3.1 開發(fā)HBase應(yīng)用程序 162
5.3.2HBase數(shù)據(jù)存儲(chǔ)管理API 163
本章總結(jié) 175
本章練習(xí) 175
第6章Hadoop綜合實(shí)戰(zhàn)——音樂排行榜 177
任務(wù)1MapReduce與HBase的集成 178
6.1.1 MapReduce與HBase的集成環(huán)境 178
6.1.2 批量數(shù)據(jù)導(dǎo)入(Bulk Loading) 181
任務(wù)2HBase MapReduce API 182
6.2.1HBase MapReduce API 簡(jiǎn)介 182
6.2.2 TableMapper的使用 183
6.2.3 TableReducer的使用 195
任務(wù)3實(shí)現(xiàn)音樂排行榜 197
6.3.1 程序的結(jié)構(gòu)與實(shí)現(xiàn) 198
6.3.2 HBase數(shù)據(jù)庫設(shè)計(jì)優(yōu)化 205
6.3.3 MapReduce全局共享數(shù)據(jù) 205
本章總結(jié) 207
本章練習(xí) 207
第7章數(shù)據(jù)倉庫Hive 209
任務(wù)1Hive基礎(chǔ) 210
7.1.1 認(rèn)識(shí)Hive 210
7.1.2 Hive架構(gòu)設(shè)計(jì) 211
7.1.3 Hive與Hadoop 212
7.1.4 Hive與傳統(tǒng)關(guān)系型數(shù)據(jù)庫 212
7.1.5 Hive數(shù)據(jù)存儲(chǔ)模型 213
7.1.6 Hive部署 213
任務(wù)2掌握Hive操作 214
7.2.1 Hive DDL 214
7.2.2 Hive DML 217
7.2.3 Hive shell 222
任務(wù)3Hive高級(jí)應(yīng)用 223
7.3.1 Hive函數(shù) 224
7.3.2 Hive調(diào)優(yōu)策略 227
本章總結(jié) 232
本章練習(xí) 232
第8章大數(shù)據(jù)離線處理輔助系統(tǒng) 233
任務(wù)1認(rèn)識(shí)并使用數(shù)據(jù)遷移框架Sqoop 234
8.1.1 Sqoop簡(jiǎn)介 234
8.1.2 使用Sqoop導(dǎo)入MySQL數(shù)據(jù)到HDFS 239
8.1.3 使用Sqoop導(dǎo)出HDFS數(shù)據(jù)到MySQL 246
8.1.4 使用Sqoop導(dǎo)入MySQL數(shù)據(jù)到Hive 248
8.1.5 Sqoop Job 250
任務(wù)2使用Azkaban實(shí)現(xiàn)工作流調(diào)度 250
8.2.1 Azkaban概述 250
8.2.2 Azkaban環(huán)境部署 252
8.2.3 Azkaban應(yīng)用實(shí)例 256
本章總結(jié) 259
本章練習(xí) 259
第9章Spark基礎(chǔ) 261
任務(wù)1Spark入門 262
9.1.1 Spark簡(jiǎn)介 262
9.1.2 Spark優(yōu)勢(shì) 262
9.1.3 Spark生態(tài)圈 264
任務(wù)2Scala基礎(chǔ) 267
9.2.1 Scala簡(jiǎn)介 268
9.2.2 Scala函數(shù)定義 271
9.2.3 Scala面向?qū)ο蟛僮鳌?72
9.2.4 Scala集合的使用 275
9.2.5 Scala高階函數(shù) 278
任務(wù)3編譯Spark 281
9.3.1 下載Spark源碼 281
9.3.2 編譯Spark源碼 282
任務(wù)4Spark初體驗(yàn) 284
9.4.1 Spark環(huán)境部署 284
9.4.2 spark-shell 285
本章總結(jié) 286
本章練習(xí) 286
第 10章Spark Core 287
任務(wù)1Spark RDD 288
10.1.1 RDD介紹 288
10.1.2 RDD的創(chuàng)建 289
10.1.3 RDD的轉(zhuǎn)換算子 291
10.1.4 RDD的動(dòng)作算子 293
10.1.5 RDD的依賴關(guān)系 295
任務(wù)2RDD高級(jí)應(yīng)用 297
10.2.1 RDD緩存機(jī)制 297
10.2.2 共享變量 300
10.2.3 Spark架構(gòu)設(shè)計(jì) 302
任務(wù)3基于RDD的Spark應(yīng)用程序開發(fā) 303
10.3.1 準(zhǔn)備工作 303
10.3.2 詞頻計(jì)數(shù)實(shí)例 304
10.3.3 年齡統(tǒng)計(jì)實(shí)例 308
本章總結(jié) 309
本章練習(xí) 309
第 11章Spark SQL 311
任務(wù)1認(rèn)識(shí)Spark SQL 312
11.1.1 SQL 312
11.1.2 SQL on Hadoop框架 312
11.1.3 Spark SQL簡(jiǎn)介 314
任務(wù)2Spark SQL編程基礎(chǔ) 315
11.2.1 Spark SQL編程入口 315
11.2.2 DataFrame基礎(chǔ) 317
11.2.3 DataFrame編程實(shí)例 318
任務(wù)3Spark SQL編程進(jìn)階 325
11.3.1 Spark SQL操作外部數(shù)據(jù)源 325
11.3.2 Spark SQL函數(shù) 329
11.3.3 Spark SQL調(diào)優(yōu) 332
本章總結(jié) 334
本章練習(xí) 335
第 12章Spark Streaming 337
任務(wù)1流處理框架及Spark Streaming 338
12.1.1 流處理框架簡(jiǎn)介 338
12.1.2 Spark Streaming簡(jiǎn)介 340
任務(wù)2使用Spark Streaming編程 343
12.2.1 Spark Streaming核心 343
12.2.2 Spark Streaming編程實(shí)例 348
任務(wù)3Spark Streaming高級(jí)應(yīng)用 352
12.3.1 使用Spark Streaming整合Flume 353
12.3.2 使用Spark Streaming整合Kafka 356
12.3.3 Spark Streaming優(yōu)化策略 361
本章總結(jié) 363
本章練習(xí) 363
附錄 365