大數據科學與應用叢書 Hadoop大數據實戰權威指南
作者:黃東軍
出版時間:2017年版
叢編項: 大數據科學與應用叢書
內容簡介
大數據貴在落實!本書是一本講解大數據實戰的圖書,按照“深入分析組件原理、充分展示搭建過程、詳細指導應用開發”編寫。全書分為三篇,第一篇為大數據的基本概念和技術,主要介紹大數據的背景、發展及關鍵技術;第二篇為Hadoop大數據平臺搭建與基本應用,內容涉及Linux、HDFS、MapReduce、YARN、Hive、HBase、Sqoop、Kafk、Spark等;第三篇為大數據處理與項目開發,包括交互式數據處理、協同過濾推薦系統、銷售數據分析系統,并就的部分銷售數據應用大數據進行處理分析。
目錄
目 錄
第一篇 大數據的基本概念和技術
第1章 緒論\t3
1.1 時代背景\t3
1.1.1 全球大數據浪潮\t3
1.1.2 我國的大數據國家戰略\t5
1.2 大數據的概念\t7
1.2.1 概念\t7
1.2.2 特征\t8
1.3 技術支撐體系\t9
1.3.1 概覽\t9
1.3.2 大數據采集層\t9
1.3.3 大數據存儲層\t10
1.3.4 大數據分析(處理與服務)層\t11
1.3.5 大數據應用層\t11
1.3.6 垂直視圖\t13
1.4 大數據人才及其能力要求\t14
1.4.1 首席數據官\t14
1.4.2 數據科學家(數據分析師)\t15
1.4.3 大數據開發工程師\t16
1.4.4 大數據運維工程師\t17
1.5 本章小結\t17
第2章 Hadoop大數據關鍵技術\t19
2.1 Hadoop生態系統\t19
2.1.1 架構的基本理論\t19
2.1.2 主要組件及其關系\t21
2.2 數據采集\t24
2.2.1 結構化數據采集工具\t24
2.2.2 日志文件采集工具與技術\t25
2.3 大數據存儲技術\t29
2.3.1 相關概念\t29
2.3.2 分布式文件存儲系統\t34
2.3.3 數據庫與數據倉庫\t38
2.4 分布式計算框架\t43
2.4.1 離線計算框架\t43
2.4.2 實時流計算平臺\t50
2.5 數據分析平臺與工具\t57
2.5.1 面向大數據的數據挖掘與分析工具\t57
2.5.2 機器學習\t61
2.6 本章小結\t66
第二篇 Hadoop大數據平臺搭建與基本應用
第3章 Linux操作系統與集群搭建\t69
3.1 Linux操作系統\t69
3.1.1 概述\t69
3.1.2 特點\t70
3.1.3 Linux的組成\t72
3.2 Linux安裝與集群搭建\t75
3.2.1 安裝VMware Workstation\t75
3.2.2 在VMware上安裝Linux(CentOS7)\t79
3.3 集群的配置\t91
3.3.1 設置主機名\t91
3.3.2 網絡設置\t93
3.3.3 關閉防火墻\t98
3.3.4 安裝JDK\t99
3.3.5 免密鑰登錄配置\t102
3.4 Linux基本命令\t105
3.5 本章小結\t112
第4章 HDFS安裝與基本應用\t113
4.1 HDFS概述\t113
4.1.1 特點\t113
4.1.2 主要組件與架構\t114
4.2 HDFS架構分析\t114
4.2.1 數據塊\t114
4.2.2 NameNode\t115
4.2.3 DataNode\t116
4.2.4 SecondaryNameNode\t117
4.2.5 數據備份\t117
4.2.6 通信協議\t118
4.2.7 可靠性保證\t118
4.3 文件操作過程分析\t119
4.3.1 讀文件\t119
4.3.2 寫文件\t120
4.3.3 刪除文件\t122
4.4 Hadoop HDFS安裝與配置\t122
4.4.1 解壓Hadoop安裝包\t122
4.4.2 配置Hadoop環境變量\t123
4.4.3 配置Yarn環境變量\t124
4.4.4 配置核心組件文件\t125
4.4.5 配置文件系統\t125
4.4.6 配置yarn-site.xml文件\t126
4.4.7 配置MapReduce計算框架文件\t128
4.4.8 配置Master的slaves文件\t129
4.4.9 復制Master上的Hadoop到Slave節點\t129
4.5 Hadoop集群的啟動\t130
4.5.1 配置操作系統環境變量\t130
4.5.2 創建Hadoop數據目錄\t131
4.5.3 格式化文件系統\t132
4.5.4 啟動和關閉Hadoop\t133
4.5.5 驗證Hadoop是否啟動成功\t133
4.6 Hadoop集群的基本應用\t136
4.6.1 HDFS基本命令\t136
4.6.2 在Hadoop集群中運行程序\t139
4.7 本章小結\t141
第5章 MapReduce與Yarn\t143
5.1 MapReduce程序的概念\t143
5.1.1 基本編程模型\t143
5.1.2 計算過程分析\t144
5.2 深入理解Yarn\t147
5.2.1 Yarn的基本架構\t147
5.2.2 Yarn的工作流程\t151
5.3 在Linux平臺安裝Eclipse\t152
5.3.1 Eclipse簡介\t153
5.3.2 安裝并啟動Eclipse\t154
5.4 開發MapReduce程序的基本方法\t155
5.4.1 為Eclipse安裝Hadoop插件\t156
5.4.2 WordCount:第一個MapReduce程序\t160
5.5 本章小結\t175
第6章 Hive和HBase的安裝與應用\t177
6.1 在CentOS7下安裝MySQL\t177
6.1.1 下載或復制MySQL安裝包\t177
6.1.2 執行安裝命令\t178
6.1.3 啟動MySQL\t179
6.1.4 登錄MySQL\t179
6.1.5 使用MySQL\t181
6.1.6 問題與解決辦法\t182
6.2 Hive安裝與應用\t183
6.2.1 下載并解壓Hive安裝包\t183
6.2.2 配置Hive\t184
6.2.3 啟動并驗證Hive\t187
6.2.4 Hive的基本應用\t189
6.3 ZooKeeper集群安裝\t190
6.3.1 ZooKeeper簡介\t190
6.3.2 安裝ZooKeeper\t191
6.3.3 配置ZooKeeper\t191
6.3.4 啟動和測試\t193
6.4 HBase的安裝與應用\t195
6.4.1 解壓并安裝HBase\t195
6.4.2 配置HBase\t196
6.4.3 啟動并驗證HBase\t199
6.4.4 HBase的基本應用\t200
6.4.5 應用HBase中常見問題及其解決辦法\t203
6.5 本章小結\t204
第7章 Sqoop和Kafka的安裝與應用\t205
7.1 安裝部署Sqoop\t205
7.1.1 下載或復制Sqoop安裝包\t205
7.1.2 解壓并安裝Sqoop\t206
7.1.3 配置Sqoop\t206
7.1.4 啟動并驗證Sqoop\t208
7.1.5 測試Sqoop與MySQL的連接\t209
7.2 安裝部署Kafka集群\t211
7.2.1 下載或復制Kafka安裝包\t211
7.2.2 解壓縮Kafka安裝包\t211
7.2.3 配置Kafka集群\t211
7.2.4 Kafka的初步應用\t213
7.3 本章小結\t218
第8章 Spark集群安裝與開發環境配置\t219
8.1 深入理解Spark\t219
8.1.1 Spark系統架構\t219
8.1.2 關鍵概念\t221
8.2 安裝與配置Scala\t224
8.2.1 下載Scala安裝包\t225
8.2.2 安裝Scala\t225
8.2.3 啟動并應用Scala\t226
8.3 Spark集群的安裝與配置\t226
8.3.1 安裝模式\t226
8.3.2 Spark的安裝\t227
8.3.3 啟動并驗證Spark\t230
8.3.4 幾點說明\t234
8.4 開發環境安裝與配置\t236
8.4.1 IDEA簡介\t236
8.4.2 IDEA的安裝\t236
8.4.3 IDEA的配置\t238
8.5 本章小結\t243
第9章 Spark應用基礎\t245
9.1 Spark程序的運行模式\t245
9.1.1 Spark on Yarn-cluster\t245
9.1.2 Spark on Yarn-client\t246
9.2 Spark應用設計\t247
9.2.1 分布式估算圓周率\t248
9.2.2 基于Spark MLlib的貸款風險預測\t265
9.3 本章小結\t285
第三篇 數據處理與項目開發術
第10章 交互式數據處理\t289
10.1 數據預處理\t289
10.1.1 查看數據\t289
10.1.2 數據擴展\t291
10.1.3 數據過濾\t292
10.1.4 數據上傳\t293
10.2 創建數據倉庫\t294
10.2.1 創建Hive數據倉庫的基本命令\t294
10.2.2 創建Hive分區表\t296
10.3 數據分析\t299
10.3.1 基本統計\t299
10.3.2 用戶行為分析\t301
10.3.3 實時數據\t303
10.4 本章小結\t304
第11章 協同過濾推薦系統\t305
11.1 推薦算法概述\t305
11.1.1 基于人口統計學的推薦\t305
11.1.2 基于內容的推薦\t306
11.1.3 協同過濾推薦\t307
11.2 協同過濾推薦算法分析\t308
11.2.1 基于用戶的協同過濾推薦\t308
11.2.2 基于物品的協同過濾推薦\t310
11.3 Spark MLlib推薦算法應用\t312
11.3.1 ALS算法原理\t312
11.3.2 ALS的應用設計\t315
11.4 本章小結\t329
第12章 銷售數據分析系統\t331
12.1 數據采集\t331
12.1.1 在Windows下安裝JDK\t331
12.1.2 在Windows下安裝Eclipse\t334
12.1.3 將WebCollector項目導入Eclipse\t335
12.1.4 在Windows下安裝MySQL\t336
12.1.5 連接JDBC\t339
12.1.6 運行爬蟲程序\t340
12.2 在HBase集群上準備數據\t342
12.2.1 將數據導入到MySQL\t342
12.2.2 將MySQL表中的數據導入到HBase表中\t344
12.3 安裝Phoenix中間件\t347
12.3.1 Phoenix架構\t347
12.3.2 解壓安裝Phoenix\t348
12.3.3 Phoenix環境配置\t349
12.3.4 使用Phoenix\t350
12.4 基于Web的前端開發\t353
12.4.1 將Web前端項目導入Eclipse\t353
12.4.2 安裝Tomcat\t355
12.4.3 在Eclipse中配置Tomcat\t355
12.4.4 在Web瀏覽器中查看執行結果\t359
12.5 本章小結\t361