大數據基本處理框架原理與實踐

大數據基本處理框架原理與實踐

作者: 劉春
出版社: 機械工業
出版在: 2021-12-18
ISBN-13: 9787111694939
ISBN-10: 7111694937
裝訂格式: 平裝
總頁數: 216 頁





內容描述


本書針對大數據處理的兩種典型方式,即批處理和流處理,
介紹了當前Apache軟件基金會三大軟件開源項目Hadoop、Spark和Storm中主要的存儲及計算框架。
本書從初學者的角度出發,聚焦於大數據處理框架的基本原理以及安裝和部署等實踐過程。
通過本書的學習,讀者在了解處理框架的結構、設計原理以及執行流程等原理性知識的同時,
還可以結合本書給出的完整部署過程以及WordCount等示例的完整源代碼,
熟悉如何使用這些處理框架來編寫大數據處理程序以及大數據處理程序的基本結構。
 本書配套PPT、源代碼等資源,
歡迎選用本書作為教材的老師登錄機工教育服務網www.cmpedu.com註冊下載。
本書可作為高等院校計算機、數據科學與大數據技術及人工智能或相關專業的本科生或研究生教材,
也可供相關工程技術人員閱讀參考。


目錄大綱


前言
第1章大數據與基本處理框架1
1.1大數據產生的背景1
1.1.1數字化1
1.1.2網絡化2
1.2大數據的特徵2
1.3大數據的價值與意義3
1.3.1量變到質變3
1.3.2數據科學的產生4
1.3.3思維的變革4
1.4大數據帶來的挑戰5
1.5大數據的基本處理框架5
1.5.1Hadoop6
1.5.2Spark7
1.5.3Storm8
1.6本章小結8
第2章運行與開發環境搭建10
2.1虛擬機的創建10
2.1.1虛擬化軟件的安裝10
2.1.2虛擬機的創建11
2.1.3VMware Tools的安裝17
2.2Linux的常用命令18
2.3JDK的安裝18
2.4IDEA+Maven的安裝20
2.4.1IDEA的安裝20
2.4.2Maven的安裝21
2.4.3在IDEA項目中配置JDK和Maven22
2.5Hadoop運行環境部署23
2.5.1SSH的安裝23
2.5.2Hadoop的安裝24
2.5.3偽分佈式環境配置25
2.6本章小結27
第3章Hadoop文件系統(HDFS)28
3.1文件系統28
3.2HDFS分佈式文件系統28
3.2.1HDFS的設計目標29
3.2.2HDFS的原理與結構30
3.3HDFS的操作流程31
3.3.1HDFS文件讀流程32
3.3.2HDFS文件寫流程32
3.4HDFS的接口34
3.4.1Shell命令34
3.4.2Web客戶端36
3.4.3Java API36
3.5本章小結40
第4章Hadoop分佈式計算框架
MapReduce414.1MapReduce計算框架概述41
4.2MapReduce計算過程42
4.2.1map階段42
4.2.2shuffle階段43
4.2.3reduce階段45
4.3MapReduce的架構與運行流程45
4.4WordCount的MapReduce程序47
4.4.1WordCount程序的pom.xml文件47
4.4.2WordCount程序的Java文件48
4.4.3WordCount代碼說明50
4.5Mapper/Reducer類源碼解析52
4.6Hadoop的數據類型55
4.6.1Hadoop基本數據類型55
4.6.2自定義Hadoop數據類型56
4.7數據輸入格式InputFormat58
4.7.1默認的TextInputFormat58
4.7.2getSplits()操作60
4.7.3LineRecordReader62
4.7.4自定義輸入格式65
4.8數據的輸出格式OutputFormat66
4.8.1默認的輸出格式
TextOutputFormat66
4.8.2LineRecordWriter68
4.8.3自定義輸出格式類型71
4.8.4Hadoop的SequenceFile71
4.9自定義Combiner類72
4.10自定義Partioner類73
4.11多MapReduce任務的串聯74
4.12本章小結78
第5章Hadoop數據庫系統HBase79
5.1HBase概述79
5.1.1數據庫與數據庫系統79
5.1.2傳統關係型數據庫系統80
5.1.3NoSQL數據庫系統80
5.1.4HBase數據庫系統80
5.2HBase的數據模型81
5.2.1HBase的邏輯視圖81
5.2.2HBase的物理視圖82
5.3HBase的架構與運行機制83
5.3.1HBase分佈式存儲策略83
5.3.2HBase的運行架構85
5.4HBase的安裝與部署88
5.4.1安裝ZooKeeper88
5.4.2安裝HBase 90
5.4.3偽分佈式環境配置90
5.5HBase操作接口與實踐92
5.5.1HBase Shell命令92
5.5.2Java API96
5.6本章小結107
第6章分佈式內存計算框架Spark108
6.1Spark概述108
6.1.1MapReduce計算框架的局限性108
6.1.2Spark的優勢與特點109
6.2Spark的架構110
6.2.1Spark的基本組件110
6.2.2Spark的運行流程111
6.3RDD112
6.3.1RDD的概念與Spark計算模型112
6.3.2RDD的各種操作114
6.3.3RDD之間的依賴關係118
6.3.4RDD計算過程的容錯處理121
6.4Scala語言介紹122
6.4.1變量和類型123
6.4.2控制結構129
6.5Spark的安裝部署131
6.5.1Spark安裝文件的下載131
6.5.2Spark的安裝過程132
6.6基於Spark Shell的WordCount程序133
6.6.1啟動Spark Shell133
6.6.2從本地及HDFS讀取WordCount數據134
6.6.3退出Spark Shell136
6.7基於IDEA+Maven的WordCount程序136
6.7.1IDEA安裝Scala插件與SDK137
6.7.2基於Scala的WordCount Spark應用程序139
6.7.3基於Java的WordCount Spark應用程序144
6.8Spark與HBase的整合146
6.8.1pom.xml文件147
6.8.2Scala Class文件148
6.9Spark創建RDD的常用方式150
6.9.1基於Scala集合創建RDD150
6.9.2基於外部存儲系統創建RDD151
6.10Spark的共享變量152
6.10.1廣播變量152
6.10.2累加器153
6.11本章小結154
第7章Spark流計算框架
(Spark Streaming)1567.1流計算與流計算框架156
7.2Spark Streaming的原理與概念157
7.2.1Spark Streaming的設計原理157
7.2.2Dstream與Dstream graph157
7.2.3Spark Streaming的結構與執行流程160
7.2.4Spark Streaming的容錯處理162
7.3Spark Streaming的WordCount案例163
7.3.1以Socket為數據源163
7.3.2以文本文件目錄為數據源166
7.4Spark Streaming整合Flume167
7.4.1Flume介紹167
7.4.2Flume的下載安裝與配置169
7.4.3整合Flume與Spark Streaming172
7.5Spark Streaming整合Kafka178
7.5.1Kafka介紹178
7.5.2Kafka的下載安裝180
7.5.3Kafka的常用命令181
7.5.4整合Kafka與Spark Streaming181
7.6本章小結184
第8章實時流計算框架Storm185
8.1Storm的邏輯架構185
8.2Storm的物理架構186
8.2.1Storm集群的架構186
8.2.2數據流的分組策略187
8.3Storm的消息容錯機制188
8.4Strom的下載與安裝190
8.4.1Storm的安裝配置190
8.4.2Storm的啟動191
8.5Storm的WordCount程序192
8.5.1Pom.xml文件193
8.5.2Java Class文件193
8.5.3提交集群運行198
8.6Storm與Hadoop的整合199
8.6.1Storm寫入數據到HDFS199
8.6.2Storm寫入數據到HBase204
8.7Flume與Storm和Kafka的整合209
8.7.1Flume與Kafka的整合209
8.7.2Storm與Kafka的整合211
8.8本章小結215
參考文獻216


作者介紹


劉春
河南省時空大數據產業技術研究院
大數據基本處理框架原理與實踐




相關書籍

HTML5+CSS3網頁設計與製作

作者 黑馬程序員

2021-12-18

JavaScript for Kids: A Playful Introduction to Programming (Paperback)

作者 Nick Morgan

2021-12-18

JavaScript+jQuery Web開發案例教程

作者 前沿科技 溫謙

2021-12-18