大數(shù)據(jù)技術(shù)入門到商業(yè)實戰(zhàn)——Hadoop+Spark+Flink全解析
定 價:99 元
叢書名:數(shù)字化人才職場賦能系列叢書
- 作者:開課吧 組編
- 出版時間:2021/8/1
- ISBN:9787111686187
- 出 版 社:機械工業(yè)出版社
- 中圖法分類:TP274
- 頁碼:248
- 紙張:
- 版次:
- 開本:16開
本書全面詳細(xì)地介紹了大數(shù)據(jù)生態(tài)系統(tǒng)中的主流技術(shù)。全書共10章,主要包括大數(shù)據(jù)生態(tài)系統(tǒng)概述、大數(shù)據(jù)采集技術(shù)、大數(shù)據(jù)存儲技術(shù)、大數(shù)據(jù)分析處理技術(shù)等內(nèi)容,書中涵蓋了Hadoop、Hive、Hbase、Kafka、Spark、Flink等技術(shù)的原理和實踐,其中重點介紹了Hadoop技術(shù)、Spark技術(shù)及Flink技術(shù)。
本書詳細(xì)介紹了主流大數(shù)據(jù)技術(shù)框架的基本原理、環(huán)境搭建、操作使用和在典型行業(yè)中的具體應(yīng)用,使讀者不僅能夠在宏觀上全面認(rèn)知大數(shù)據(jù)生態(tài)系統(tǒng),而且還能在微觀上深入理解大數(shù)據(jù)技術(shù)細(xì)節(jié)。
本書不僅適合大數(shù)據(jù)技術(shù)初學(xué)者閱讀,還可以幫助金融、電信、電商、能源、政府部門的大數(shù)據(jù)應(yīng)用決策和技術(shù)人員,以及IT經(jīng)理、CTO、CIO等快速學(xué)習(xí)大數(shù)據(jù)技術(shù),并能作為大數(shù)據(jù)相關(guān)崗位培訓(xùn)的教程。
前言
●第1章初識大數(shù)據(jù)
1.1什么是大數(shù)據(jù)
1.2大數(shù)據(jù)行業(yè)應(yīng)用
1.3什么是Hadoop
1.4Hadoop產(chǎn)生背景
1.5Hadoop的架構(gòu)模塊介紹
1.6Hadoop在大數(shù)據(jù)、云計算中的
位置和關(guān)系
1.7國內(nèi)外Hadoop應(yīng)用案例介紹
1.8Hadoop生態(tài)圈以及各組成部分
簡介
1.9本章小結(jié)
●第2章Hadoop之分布式文件系統(tǒng)
HDFS
2.1構(gòu)建Hadoop集群
2.1.1集群簡介
2.1.2Hadoop集群部署
2.2Hadoop集群啟動和停止
2.2.1Hadoop集群啟動
2.2.2Hadoop集群停止
2.3HDFS的Shell命令行客戶端
操作
2.4HDFS的工作機制
2.4.1HDFS概述
2.4.2HDFS的重要特性
2.4.3HDFS寫數(shù)據(jù)流程
2.4.4HDFS讀數(shù)據(jù)流程
2.5NameNode和SecondaryNameNode
功能剖析
2.5.1NameNode與SecondaryNameNode
解析
2.5.2元數(shù)據(jù)的checkpoint的條件
2.5.3fsimage與edits詳解
2.5.4fsimage和edits文件信息查看
2.6DataNode的工作機制及存儲
2.6.1DataNode工作機制
2.6.2數(shù)據(jù)完整性保證
2.6.3DataNode掉線判斷時限參數(shù)
2.7HDFS的安全模式
2.8本章小結(jié)
●第3章Hadoop之分布式計算
MapReduce
3.1MapReduce概述
3.1.1MapReduce介紹
3.1.2為什么要使用MapReduce
3.2MapReduce框架結(jié)構(gòu)及核心
運行機制
3.3MapReduce編程規(guī)范和示例
編寫
3.3.1編程規(guī)范
3.3.2MapReduce編程入門之
單詞計數(shù)
3.4MapTask數(shù)量及切片機制
3.4.1MapTask個數(shù)
3.4.2如何控制MapTask的個數(shù)
3.4.3Map并行度的經(jīng)驗之談
3.5ReduceTask并行度的決定
3.6MapReduce中的combiner
3.7MapReduce中的Shuffle
3.7.1Map端
3.7.2Reduce端
3.7.3Shuffle小結(jié)
3.8MapReduce與Yarn
3.8.1Yarn概述
3.8.2Yarn的重要概念
3.9MapReduce在Yarn上運行
流程
3.9.1job 提交過程
3.9.2job 初始化過程
3.9.3Task 任務(wù)分配
3.9.4Task 任務(wù)執(zhí)行
3.9.5運行進(jìn)度與狀態(tài)更新
3.9.6job 完成
3.10實戰(zhàn)項目1:基于MapReduce
實現(xiàn)用戶流量分析
3.10.1需求描述
3.10.2需求分析
3.10.3開發(fā)實現(xiàn)
3.10.4提交任務(wù)
3.11本章小結(jié)
●第4章分布式協(xié)調(diào)服務(wù)
Zookeeper
4.1Zookeeper簡介
4.1.1Zookeeper是什么
4.1.2Zookeeper常用應(yīng)用場景
4.2Zookeeper集群部署
4.2.1Zookeeper集群角色
4.2.2Zookeeper集群安裝
4.3Zookeeper核心工作機制
4.3.1Zookeeper特性
4.3.2Zookeeper數(shù)據(jù)結(jié)構(gòu)
4.3.3節(jié)點類型
4.4Zookeeper的Shell命令行
操作
4.4.1客戶端連接
4.4.2命令行操作
4.5項目實戰(zhàn)2:基于Zookeeper
實現(xiàn)服務(wù)器上下線動態(tài)感知
4.5.1需求描述
4.5.2開發(fā)實現(xiàn)
4.6本章小結(jié)
●第5章分布式數(shù)據(jù)庫Hbase
5.1Hbase數(shù)據(jù)庫介紹
5.1.1Hbase簡介
5.1.2Hbase表的數(shù)據(jù)模型
5.2Hbase整體架構(gòu)
5.3Hbase集群搭建
5.4Hbase的Shell命令演示
5.5Hbase的內(nèi)部原理
5.5.1Hbase的存儲原理
5.5.2Hbase讀數(shù)據(jù)流程
5.5.3Hbase寫數(shù)據(jù)流程
5.6Hbase的Flush、compact
機制
5.6.1Flush觸發(fā)條件
5.6.2Flush的流程
5.6.3Compact合并機制
5.7Hbase表的預(yù)分區(qū)
5.8region合并
5.8.1region合并說明
5.8.2如何進(jìn)行region合并
5.9Hbase表的rowkey設(shè)計
5.9.1rowkey長度原則
5.9.2rowkey散列原則
5.9.3rowkey唯一原則
5.10Hbase表的熱點
5.10.1表的熱點描述
5.10.2熱點問題解決
5.11項目實戰(zhàn)3:基于MapReduce
實現(xiàn)數(shù)據(jù)入庫Hbase表中
5.11.1需求描述
5.11.2開發(fā)實現(xiàn)
5.12本章小結(jié)
●第6章數(shù)據(jù)倉庫Hive
6.1Hive基本概念
6.1.1Hive簡介
6.1.2Hive與傳統(tǒng)數(shù)據(jù)庫對比
6.2Hive的架構(gòu)原理
6.3Hive的數(shù)據(jù)類型
6.4Hive的安裝部署
6.5Hive的交互方式
6.5.1Hive交互Shell
6.5.2Hive JDBC服務(wù)
6.5.3Hive的命令
6.6Hive的DDL操作
6.6.1數(shù)據(jù)庫的DDL操作
6.6.2表的DDL操作
6.7Hive的分區(qū)表
6.8Hive的靜態(tài)分區(qū)和動態(tài)
分區(qū)
6.8.1靜態(tài)分區(qū)
6.8.2動態(tài)分區(qū)
6.9Hive的數(shù)據(jù)導(dǎo)入
6.10Hive數(shù)據(jù)導(dǎo)出
6.11項目實戰(zhàn)4:基于Hive分析
用戶搜索日志數(shù)據(jù)
6.11.1需求描述
6.11.2數(shù)據(jù)格式
6.11.3開發(fā)實現(xiàn)
6.12本章小結(jié)
●第7章日志采集框架Flume
7.1Flume介紹
7.1.1Flume概述
7.1.2Flume的優(yōu)勢
7.1.3Flume的運行機制
7.1.4Flume采集系統(tǒng)結(jié)構(gòu)圖
7.2Flume安裝部署
7.3Flume數(shù)據(jù)采集應(yīng)用
7.3.1采集目錄到HDFS
7.3.2采集文件到HDFS
7.4項目實戰(zhàn)5:Flume之靜態(tài)攔
截器的使用
7.4.1案例場景
7.4.2場景分析
7.4.3數(shù)據(jù)流程處理分析
7.4.4開發(fā)實現(xiàn)
7.5本章小結(jié)
●第8章分布式消息系統(tǒng)Kafka
8.1Kafka概述
8.1.1Kafka定義
8.1.2Kafka的特性
8.1.3Kafka集群架構(gòu)和角色
8.2Kafka集群安裝部署
8.3Kafka命令行的管理使用
8.4Kafka生產(chǎn)者和消費者的API
代碼開發(fā)
8.4.1生產(chǎn)者代碼開發(fā)
8.4.2消費者代碼開發(fā)
8.5Kafka分區(qū)策略
8.6為什么Kafka速度那么快
8.7Kafka的文件存儲機制
8.7.1文件存儲概述
8.7.2Segment文件
8.7.3Kafka如何快速查詢數(shù)據(jù)
8.7.4Kafka高效文件存儲
設(shè)計特點
8.8consumer消費原理
8.8.1consumer與topic關(guān)系
8.8.2Offset管理
8.8.3coordinator工作機制
8.9項目實戰(zhàn)6: Kafka整合
Flume
8.9.1需求描述
8.9.2需求分析
8.9.3需求實現(xiàn)
8.10本章小結(jié)
●第9章Spark內(nèi)存計算框架
9.1Spark 概述
9.1.1Spark簡介
9.1.2Spark生態(tài)圈概述
9.1.3Spark運行模式
9.2Spark環(huán)境部署實戰(zhàn)
9.3Spark編程模型RDD
9.3.1RDD的概述
9.3.2RDD的五大特性
9.3.3RDD的構(gòu)建
9.3.4RDD的transformation算子
操作
9.3.5RDD的action算子操作
9.3.6RDD的依賴關(guān)系
9.3.7RDD的血統(tǒng)和緩存機制
9.3.8RDD的checkpoint機制
9.3.9項目實戰(zhàn)7:基于RDD編程
實現(xiàn)流量日志分析
9.4SparkSQL結(jié)構(gòu)化數(shù)據(jù)處理
9.4.1SparkSQL簡介
9.4.2SparkSQL的四大特性
9.4.3DataFrame概述
9.4.4DataFrame常用操作
9.4.5DataSet概述
9.4.6構(gòu)建DataSet
9.4.7SparkSQL讀取外部數(shù)據(jù)源
9.5SparkStreaming實時
處理模塊
9.5.1SparkStreaming簡介
9.5.2SparkStreaming架構(gòu)流程
9.5.3DStream概述
9.5.4DStream的transformations
算子操作
9.5.5DStream的output operations
算子操作
9.5.6SparkStreaming的checkpoint
容錯機制
9.6項目實戰(zhàn)8:SparkStreaming整合
Kafka
9.7本章小結(jié)
●第10章Flink實時流處理
10.1Flink概述
10.1.1Flink介紹
10.1.2Flink的特點
10.1.3Flink 的應(yīng)用場景
10.1.4Flink基本技術(shù)棧
10.1.5Flink任務(wù)提交模型
10.2Flink 環(huán)境部署實戰(zhàn)
10.2.1Standalone HA模式部署
10.2.2Flink on Yarn 模式部署
10.2.3Flink on Yarn 任務(wù)提交
流程
10.3Flink編程入門案例
10.3.1實時處理代碼開發(fā)
10.3.2離線處理代碼開發(fā)
10.4DataStream編程
10.4.1DataStream的數(shù)據(jù)源
10.4.2DataStream轉(zhuǎn)換算子
10.4.3DataStream的sink數(shù)據(jù)
目標(biāo)
10.4.4任務(wù)并行度、slot、task
10.4.5task之間的數(shù)據(jù)傳輸策略
10.4.6Operator Chain操作鏈
10.5Flink中的狀態(tài)保存和恢復(fù)
10.5.1State概述
10.5.2State類型
10.5.3Flink的StateBackend
狀態(tài)保存
10.5.4Flink的checkpoint檢查
點機制
10.5.5Flink的savepoint保存點
機制
10.6項目實戰(zhàn)9: Flink流式處理
集成Kafka
10.7Flink中的窗口window
10.7.1window概念
10.7.2window類型
10.7.3TimeWindow分類
10.7.4Window API
10.7.5窗口函數(shù)
10.8Flink的WaterMark機制
10.8.1Flink的Time三兄弟
10.8.2WaterMark的概念
10.8.3WaterMark的原理
10.8.4生活場景理解WaterMark
10.8.5WaterMark 使用存在
的三種情況
10.8.6WaterMark結(jié)合EventTime
實戰(zhàn)
10.8.7遲到的數(shù)據(jù)處理機制
10.9Flink的Table和SQL
10.9.1Table與SQL基本介紹
10.9.2為什么需要SQL
10.9.3Flink Table和SQL開發(fā)
環(huán)境構(gòu)建
10.9.4Flink Table API 操作
10.9.5Flink SQL 操作
10.10項目實戰(zhàn)10: 基于FlinkSQL
讀取Kafka數(shù)據(jù)到MySQL
表中
10.11本章小結(jié)