Hadoop大數據技術基礎與應用

楊俊//蔣寅//楊綠科

  • 出版商: 機械工業
  • 出版日期: 2022-09-27
  • 定價: $414
  • 售價: 7.5$311
  • 語言: 簡體中文
  • 頁數: 252
  • 裝訂: 平裝
  • ISBN: 7111712854
  • ISBN-13: 9787111712855
  • 相關分類: Hadoop大數據 Big-data
  • 立即出貨 (庫存 < 3)

買這商品的人也買了...

商品描述

本書由淺入深地介紹了Hadoop技術生態的重要組件,讓讀者能夠系統地了解大數據相關技術。
第1章主要從整體上介紹了Hadoop大數據技術,並搭建Hadoop運行環境。
第2~5章著重介紹了Hadoop核心技術,包括Hadoop分佈式文件系統(HDFS)、Hadoop資源管理系統(YARN)、
Hadoop分佈式計算框架(MapReduce)以及ZooKeeper分佈式協調服務。
第6章重點介紹了Hadoop分佈式集群的搭建以及集群的運維與管理。
第7~8章詳細介紹了Hive數據倉庫和HBase分佈式數據庫等Hadoop的上層技術組件。
第9章介紹了Hadoop生態圈其他常用開發技術。
第10~11章是項目實戰,分別介紹了互聯網金融項目離線分析、互聯網直播項目實時分析。
本書採用理論知識和實戰項目相結合的方式,突出實戰,非常適合Hadoop 初學者及開發者閱讀。
本書既可以作為高等院校數據科學與大數據技術及相關專業的教材,也可以作為大數據工程師的必備開發手冊。

目錄大綱

前言
第1章Hadoop技術概述1
1.1 Hadoop的前世今生1
1.1.1 Hadoop概述1
1.1.2 Hadoop項目起源1
1.1.3 Hadoop發展歷程2
1.1.4 Hadoop名字起源2
1.2 Hadoop生態系統簡介2
1.3 Hadoop的優勢及應用領域4
1.3.1 Hadoop的優勢4
1.3.2 Hadoop的應用領域4
1.4 Hadoop與雲計算5
1.4.1 雲計算的概念及特點5
1.4.2 Hadoop與雲計算的關係6
1.5 Hadoop與Spark6
1.5.1 Spark的概念及特點6
1.5.2 Hadoop與Spark的關係7
1.6 Hadoop與傳統關係型數據庫7
1.6.1 RDBMS的概念及特點7
1.6.2 Hadoop與RDBMS的關係8
1.7 案例實踐:搭建Hadoop運行環境8
1.7.1 搭建IDEA開發環境9
1.7.2 搭建Linux虛擬機11
1.7.3 搭建Hadoop偽分佈式集群環境15
1.8 本章小結21
1.9 習題21
第2章Hadoop分佈式文件系統(HDFS)22
2.1 HDFS架構設計與工作原理22
2.1.1 HDFS概述22
2.1.2 HDFS產生背景22
2.1.3 HDFS設計理念23
2.1.4 HDFS架構23
2.1.5 HDFS優缺點26
2.1.6 HDFS讀數據流程27
2.1.7 HDFS寫數據流程28
2.1.8 HDFS副本存放策略29
2.2 HDFS的高可用31
2.2.1 HA機制產生背景31
2.2.2 HDFS的HA架構32
2.2.3 HDFS的HA機制33
2.3 HDFS聯邦機制33
2.4 HDFS Shell操作34
2.4.1 HDFS Shell基本操作命令34
2.4.2 HDFS Shell管理員操作命令35
2.5 案例實踐:Shell定時上傳文件至HDFS37
2.5.1 項目需求37
2.5.2 實現思路37
2.5.3 具體實現流程37
2.6 本章小結38
2.7 習題39
第3章Hadoop資源管理系統(YARN)40
3.1 YARN的架構設計與工作原理40
3.1.1 YARN概述40
3.1.2 YARN的作用41
3.1.3 YARN的基本架構41
3.1.4 YARN的工作原理42
3.2 MapReduce on YARN工作流程43
3.3 YARN的容錯性44
3.4 YARN的高可用45
3.5 YARN的調度器46
3.5.1 先進先出調度器46
3.5.2 容量調度器47
3.5.3 公平調度器47
3.6 案例實踐:YARN調度器的配置與使用48
3.6.1 啟用公平調度器48
3.6.2 隊列配置48
3.6.3 同步配置文件49
3.6.4 重啟YARN集群49
3.6.5 提交任務50
3.6.6 查看任務50
3.6.7 查看運行結果50
3.7 本章小結51
3.8 習題51
第4章Hadoop分佈式計算框架(MapReduce)52
4.1 初識MapReduce52
4.1.1 MapReduce概述52
4.1.2 MapReduce基本設計思想53
4.1.3 MapReduce的優缺點54
4.2 MapReduce編程模型55
4.2.1 MapReduce編程模型簡介55
4.2.2 深入剖析MapReduce編程模型56
4.3 MapReduce運行機制60
4.3.1 剖析MapReduce作業運行機制60
4.3.2 作業失敗與容錯63
4.3.3 Shuffle過程詳解65
4.4 案例實踐:氣象大數據離線分析67
4.5 本章小結70
4.6 習題71
第5章ZooKeeper分佈式協調服務72
5.1 ZooKeeper架構設計與工作原理72
5.1.1 ZooKeeper定義72
5.1.2 ZooKeeper的特點73
5.1.3 ZooKeeper的基本架構73
5.1.4 ZooKeeper的工作原理74
5.1.5 ZooKeeper的數據模型74
5.2 ZooKeeper集群安裝前的準備工作75
5.2.1 配置Hosts文件76
5.2.2 時鐘同步76
5.2.3 集群SSH免密登錄77
5.2.4 JDK安裝78
5.3 ZooKeeper集群的安裝部署79
5.3.1 下載並解壓ZooKeeper79
5.3.2 修改zoo.cfg配置文件79
5.3.3 同步ZooKeeper安裝目錄80
5.3.4 創建數據和日誌目錄80
5.3.5 創建各節點服務編號80
5.3.6 啟動ZooKeeper集群服務80
5.4 ZooKeeper Shell操作81
5.5 案例實踐:ZooKeeper分佈式爬蟲監控81
5.5.1 項目需求81
5.5.2 實現思路82
5.5.3 具體實現流程82
5.6 本章小結86
5.7 習題86
第6章Hadoop分佈式集群搭建與管理87
6.1 集群規劃87
6.1.1 主機規劃87
6.1.2 軟件規劃87
6.1.3 用戶規劃88
6.1.4 目錄規劃88
6.2 HDFS分佈式集群搭建88
6.2.1 HDFS集群配置88
6.2.2 啟動HDFS集群服務91
6.2.3 HDFS集群測試92
6.3 YARN分佈式集群搭建93
6.3.1 YARN 集群配置93
6.3.2 啟動YARN集群服務96
6.3.3 YARN集群測試96
6.4 Hadoop集群運維管理97
6.4.1 Hadoop集群進程管理98
6.4.2 Hadoop集群運維技巧99
6.5 案例實踐:Hadoop集群動態擴縮容99
6.5.1 項目需求99
6.5.2 動態擴容原理99
6.5.3 動態縮容原理100
6.5.4 原Hadoop集群配置與啟動100
6.5.5 Hadoop集群動態擴容102
6.5.6 Hadoop集群動態縮容104
6.6 本章小結106
6.7 習題106
第7章Hive數據倉庫工具107
7.1 Hive概述107
7.1.1 Hive定義107
7.1.2 Hive產生的背景107
7.1.3 Hive的優缺點108
7.1.4 Hive在Hadoop生態系統中的位置108
7.1.5 Hive與Hadoop的關係108
7.2 Hive原理及架構109
7.2.1 Hive的設計原理109
7.2.2 Hive的體系架構109
7.2.3 Hive的運行機制110
7.2.4 HQL的轉換過程111
7.2.5 Hive的數據類型112
7.2.6 Hive的數據存儲112
7.3 Hive的安裝部署113
7.3.1 安裝MySQL113
7.3.2 安裝Hive114
7.4 Hive詳解116
7.4.1 Hive對數據庫的操作116
7.4.2 Hive對數據表的操作119
7.4.3 Hive數據相關操作122
7.4.4 Hive查詢相關操作126
7.4.5 Hive表連接相關操作129
7.4.6 Hive內部表和外部表相關操作130
7.4.7 Hive分區與分桶相關操作131
7.5 案例實踐:B站用戶行為大數據分析133
7.5.1 項目需求133
7.5.2 表結構133
7.5.3 準備工作134
7.5.4 統計分析137
7.6 本章小結138
7.7 習題138
第8章HBase分佈式數據庫139
8.1 HBase概述139
8.1.1 HBase定義139
8.1.2 HBase的特點139
8.2 HBase模型及架構140
8.2.1 HBase邏輯模型140
8.2.2 HBase數據模型141
8.2.3 HBase物理模型141
8.2.4 HBase基本架構143
8.3 搭建HBase分佈式集群144
8.3.1 HBase集群規劃144
8.3.2 HBase集群安裝配置145
8.3.3 啟動HBase集群服務147
8.4 HBase Shell操作149
8.4.1 HBase Shell命令分類149
8.4.2 HBase Shell基本操作150
8.5 HBase Java客戶端152
8.5.1 引入HBase依賴152
8.5.2 連接HBase數據庫152
8.5.3 創建HBase表153
8.5.4 HBase插入數據153
8.5.5 HBase查詢數據154
8.5.6 HBase 過濾查詢155
8.5.7 刪除HBase表156
8.6 案例實踐:MapReduce批量寫入HBase156
8.6.1 需求分析156
8.6.2 數據集準備156
8.6.3 代碼實現157
8.6.4 測試運行158
8.7 本章小結159
8.8 習題159
第9章Hadoop生態圈其他常用開發技術160
9.1 Sqoop數據遷移工具160
9.1.1 Sqoop概述160
9.1.2 Sqoop的優勢161
9.1.3 Sqoop的架構與工作機制161
9.1.4 Sqoop Import 流程161
9.1.5 Sqoop Export 流程162
9.1.6 Sqoop安裝部署162
9.1.7 案例實踐:Sqoop遷移Hive倉庫數據163
9.2 Flume日誌採集系統166
9.2.1 Flume概述166
9.2.2 Flume架構設計166
9.2.3 Flume安裝部署169
9.2.4 案例實踐:Flume集群搭建170
9.3 Kafka分佈式消息系統172
9.3.1 Kafka概述172
9.3.2 Kafka架構設計173
9.3.3 Kafka分佈式集群搭建175
9.3.4 案例實踐:Flume與Kafka集成178
9.4 Spark實時分析系統179
9.4.1 Spark快速入門179
9.4.2 Spark Core的核心功能181
9.4.3 Spark分佈式集群搭建186
9.4.4 Spark Streaming實時計算189
9.4.5 案例實踐:廣告點擊實時分析193
9.5 Flink實時分析系統199
9.5.1 Flink快速入門199
9.5.2 Flink分佈式集群搭建203
9.5.3 Flink DataStream實時計算210
9.5.4 案例實踐:新聞熱搜實時分析214
9.6 Davinci大數據可視化分析217
9.6.1 Davinci架構設計217
9.6.2 Davinci安裝部署220
9.6.3 案例實踐:Davinci製作數據可視化大屏224
9.7 本章小結229
9.8 習題229
第10章項目實戰—互聯網金融項目離線分析230
10.1 項目需求分析230
10.2 系統架構設計230
10.3 數據流程設計231
10.4 系統集群規劃231
10.5 項目開發步驟232
10.5.1 準備MySQL數據源232
10.5.2 Sqoop採集MySQL數據庫234
10.5.3 Hive對金融項目進行離線分析237
10.5.4 創建MySQL業務表240
10.5.5 統計結果入庫MySQL242
10.5.6 Davinci數據可視化分析245
10.6 本章小結247
第11章項目實戰—互聯網直播項目實時分析248
11.1 項目需求分析248
11.2 系統架構設計248
11.3 數據流程設計249
11.4 系統集群規劃249
11.5 項目開發步驟250
11.5.1 模擬實時產生數據250
11.5.2 MySQL建表存儲統計結果252
11.5.3 Flink Streaming業務代碼實現252
11.5.4 打通互聯網直播項目整個流程254
11.5.5 Davinci數據可視化分析256
11.6 本章小結256
參考文獻257