大數(shù)據(jù)技術(shù)入門到商業(yè)實(shí)戰(zhàn)——Hadoop+Spark+Flink全解析
定 價(jià):99 元
叢書名:數(shù)字化人才職場(chǎng)賦能系列叢書
- 作者:開(kāi)課吧 組編
- 出版時(shí)間:2021/8/1
- ISBN:9787111686187
- 出 版 社:機(jī)械工業(yè)出版社
- 中圖法分類:TP274
- 頁(yè)碼:248
- 紙張:
- 版次:
- 開(kāi)本:16開(kāi)
本書全面詳細(xì)地介紹了大數(shù)據(jù)生態(tài)系統(tǒng)中的主流技術(shù)。全書共10章,主要包括大數(shù)據(jù)生態(tài)系統(tǒng)概述、大數(shù)據(jù)采集技術(shù)、大數(shù)據(jù)存儲(chǔ)技術(shù)、大數(shù)據(jù)分析處理技術(shù)等內(nèi)容,書中涵蓋了Hadoop、Hive、Hbase、Kafka、Spark、Flink等技術(shù)的原理和實(shí)踐,其中重點(diǎn)介紹了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í)大數(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ù)、云計(jì)算中的
位置和關(guān)系
1.7國(guó)內(nèi)外Hadoop應(yīng)用案例介紹
1.8Hadoop生態(tài)圈以及各組成部分
簡(jiǎn)介
1.9本章小結(jié)
●第2章Hadoop之分布式文件系統(tǒng)
HDFS
2.1構(gòu)建Hadoop集群
2.1.1集群簡(jiǎn)介
2.1.2Hadoop集群部署
2.2Hadoop集群?jiǎn)?dòng)和停止
2.2.1Hadoop集群?jiǎn)?dòng)
2.2.2Hadoop集群停止
2.3HDFS的Shell命令行客戶端
操作
2.4HDFS的工作機(jī)制
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的工作機(jī)制及存儲(chǔ)
2.6.1DataNode工作機(jī)制
2.6.2數(shù)據(jù)完整性保證
2.6.3DataNode掉線判斷時(shí)限參數(shù)
2.7HDFS的安全模式
2.8本章小結(jié)
●第3章Hadoop之分布式計(jì)算
MapReduce
3.1MapReduce概述
3.1.1MapReduce介紹
3.1.2為什么要使用MapReduce
3.2MapReduce框架結(jié)構(gòu)及核心
運(yùn)行機(jī)制
3.3MapReduce編程規(guī)范和示例
編寫
3.3.1編程規(guī)范
3.3.2MapReduce編程入門之
單詞計(jì)數(shù)
3.4MapTask數(shù)量及切片機(jī)制
3.4.1MapTask個(gè)數(shù)
3.4.2如何控制MapTask的個(gè)數(shù)
3.4.3Map并行度的經(jīng)驗(yàn)之談
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上運(yùn)行
流程
3.9.1job 提交過(guò)程
3.9.2job 初始化過(guò)程
3.9.3Task 任務(wù)分配
3.9.4Task 任務(wù)執(zhí)行
3.9.5運(yùn)行進(jìn)度與狀態(tài)更新
3.9.6job 完成
3.10實(shí)戰(zhàn)項(xiàng)目1:基于MapReduce
實(shí)現(xiàn)用戶流量分析
3.10.1需求描述
3.10.2需求分析
3.10.3開(kāi)發(fā)實(shí)現(xiàn)
3.10.4提交任務(wù)
3.11本章小結(jié)
●第4章分布式協(xié)調(diào)服務(wù)
Zookeeper
4.1Zookeeper簡(jiǎn)介
4.1.1Zookeeper是什么
4.1.2Zookeeper常用應(yīng)用場(chǎng)景
4.2Zookeeper集群部署
4.2.1Zookeeper集群角色
4.2.2Zookeeper集群安裝
4.3Zookeeper核心工作機(jī)制
4.3.1Zookeeper特性
4.3.2Zookeeper數(shù)據(jù)結(jié)構(gòu)
4.3.3節(jié)點(diǎn)類型
4.4Zookeeper的Shell命令行
操作
4.4.1客戶端連接
4.4.2命令行操作
4.5項(xiàng)目實(shí)戰(zhàn)2:基于Zookeeper
實(shí)現(xiàn)服務(wù)器上下線動(dòng)態(tài)感知
4.5.1需求描述
4.5.2開(kāi)發(fā)實(shí)現(xiàn)
4.6本章小結(jié)
●第5章分布式數(shù)據(jù)庫(kù)Hbase
5.1Hbase數(shù)據(jù)庫(kù)介紹
5.1.1Hbase簡(jiǎn)介
5.1.2Hbase表的數(shù)據(jù)模型
5.2Hbase整體架構(gòu)
5.3Hbase集群搭建
5.4Hbase的Shell命令演示
5.5Hbase的內(nèi)部原理
5.5.1Hbase的存儲(chǔ)原理
5.5.2Hbase讀數(shù)據(jù)流程
5.5.3Hbase寫數(shù)據(jù)流程
5.6Hbase的Flush、compact
機(jī)制
5.6.1Flush觸發(fā)條件
5.6.2Flush的流程
5.6.3Compact合并機(jī)制
5.7Hbase表的預(yù)分區(qū)
5.8region合并
5.8.1region合并說(shuō)明
5.8.2如何進(jìn)行region合并
5.9Hbase表的rowkey設(shè)計(jì)
5.9.1rowkey長(zhǎng)度原則
5.9.2rowkey散列原則
5.9.3rowkey唯一原則
5.10Hbase表的熱點(diǎn)
5.10.1表的熱點(diǎn)描述
5.10.2熱點(diǎn)問(wèn)題解決
5.11項(xiàng)目實(shí)戰(zhàn)3:基于MapReduce
實(shí)現(xiàn)數(shù)據(jù)入庫(kù)Hbase表中
5.11.1需求描述
5.11.2開(kāi)發(fā)實(shí)現(xiàn)
5.12本章小結(jié)
●第6章數(shù)據(jù)倉(cāng)庫(kù)Hive
6.1Hive基本概念
6.1.1Hive簡(jiǎn)介
6.1.2Hive與傳統(tǒng)數(shù)據(jù)庫(kù)對(duì)比
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ù)庫(kù)的DDL操作
6.6.2表的DDL操作
6.7Hive的分區(qū)表
6.8Hive的靜態(tài)分區(qū)和動(dòng)態(tài)
分區(qū)
6.8.1靜態(tài)分區(qū)
6.8.2動(dòng)態(tài)分區(qū)
6.9Hive的數(shù)據(jù)導(dǎo)入
6.10Hive數(shù)據(jù)導(dǎo)出
6.11項(xiàng)目實(shí)戰(zhàn)4:基于Hive分析
用戶搜索日志數(shù)據(jù)
6.11.1需求描述
6.11.2數(shù)據(jù)格式
6.11.3開(kāi)發(fā)實(shí)現(xiàn)
6.12本章小結(jié)
●第7章日志采集框架Flume
7.1Flume介紹
7.1.1Flume概述
7.1.2Flume的優(yōu)勢(shì)
7.1.3Flume的運(yùn)行機(jī)制
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項(xiàng)目實(shí)戰(zhàn)5:Flume之靜態(tài)攔
截器的使用
7.4.1案例場(chǎng)景
7.4.2場(chǎng)景分析
7.4.3數(shù)據(jù)流程處理分析
7.4.4開(kāi)發(fā)實(shí)現(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)者和消費(fèi)者的API
代碼開(kāi)發(fā)
8.4.1生產(chǎn)者代碼開(kāi)發(fā)
8.4.2消費(fèi)者代碼開(kāi)發(fā)
8.5Kafka分區(qū)策略
8.6為什么Kafka速度那么快
8.7Kafka的文件存儲(chǔ)機(jī)制
8.7.1文件存儲(chǔ)概述
8.7.2Segment文件
8.7.3Kafka如何快速查詢數(shù)據(jù)
8.7.4Kafka高效文件存儲(chǔ)
設(shè)計(jì)特點(diǎn)
8.8consumer消費(fèi)原理
8.8.1consumer與topic關(guān)系
8.8.2Offset管理
8.8.3coordinator工作機(jī)制
8.9項(xiàng)目實(shí)戰(zhàn)6: Kafka整合
Flume
8.9.1需求描述
8.9.2需求分析
8.9.3需求實(shí)現(xiàn)
8.10本章小結(jié)
●第9章Spark內(nèi)存計(jì)算框架
9.1Spark 概述
9.1.1Spark簡(jiǎn)介
9.1.2Spark生態(tài)圈概述
9.1.3Spark運(yùn)行模式
9.2Spark環(huán)境部署實(shí)戰(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)和緩存機(jī)制
9.3.8RDD的checkpoint機(jī)制
9.3.9項(xiàng)目實(shí)戰(zhàn)7:基于RDD編程
實(shí)現(xiàn)流量日志分析
9.4SparkSQL結(jié)構(gòu)化數(shù)據(jù)處理
9.4.1SparkSQL簡(jiǎn)介
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實(shí)時(shí)
處理模塊
9.5.1SparkStreaming簡(jiǎn)介
9.5.2SparkStreaming架構(gòu)流程
9.5.3DStream概述
9.5.4DStream的transformations
算子操作
9.5.5DStream的output operations
算子操作
9.5.6SparkStreaming的checkpoint
容錯(cuò)機(jī)制
9.6項(xiàng)目實(shí)戰(zhàn)8:SparkStreaming整合
Kafka
9.7本章小結(jié)
●第10章Flink實(shí)時(shí)流處理
10.1Flink概述
10.1.1Flink介紹
10.1.2Flink的特點(diǎn)
10.1.3Flink 的應(yīng)用場(chǎng)景
10.1.4Flink基本技術(shù)棧
10.1.5Flink任務(wù)提交模型
10.2Flink 環(huán)境部署實(shí)戰(zhàn)
10.2.1Standalone HA模式部署
10.2.2Flink on Yarn 模式部署
10.2.3Flink on Yarn 任務(wù)提交
流程
10.3Flink編程入門案例
10.3.1實(shí)時(shí)處理代碼開(kāi)發(fā)
10.3.2離線處理代碼開(kāi)發(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檢查
點(diǎn)機(jī)制
10.5.5Flink的savepoint保存點(diǎn)
機(jī)制
10.6項(xiàng)目實(shí)戰(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機(jī)制
10.8.1Flink的Time三兄弟
10.8.2WaterMark的概念
10.8.3WaterMark的原理
10.8.4生活場(chǎng)景理解WaterMark
10.8.5WaterMark 使用存在
的三種情況
10.8.6WaterMark結(jié)合EventTime
實(shí)戰(zhàn)
10.8.7遲到的數(shù)據(jù)處理機(jī)制
10.9Flink的Table和SQL
10.9.1Table與SQL基本介紹
10.9.2為什么需要SQL
10.9.3Flink Table和SQL開(kāi)發(fā)
環(huán)境構(gòu)建
10.9.4Flink Table API 操作
10.9.5Flink SQL 操作
10.10項(xiàng)目實(shí)戰(zhàn)10: 基于FlinkSQL
讀取Kafka數(shù)據(jù)到MySQL
表中
10.11本章小結(jié)