-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

Spark Streaming:實時流處理入門與精通

( 簡體 字)
作者:韓燕波等類別:1. -> 程式設計 -> Spark
譯者:
出版社:電子工業出版社Spark Streaming:實時流處理入門與精通 3dWoo書號: 46533
詢問書籍請說出此書號!

缺書
NT售價: 195

出版日:4/1/2017
頁數:184
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787121310492
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

序?言
處理大規模數據并產生具有商業前瞻性的信息是當下的流行趨勢,它的目標是在歷史數據上的商務智能(Business Intelligence,BI)挖掘。很多企業致力于開發數據倉庫(https://en.wikipedia.org/wiki/Data_warehouse),希望盡可能地獲取多方面的數據,并選擇合適的BI工具以分析數據倉庫中的數據。然而,開發數據倉庫是復雜、耗時且昂貴的過程,可能會花費幾個月甚至幾年的時間。
毫無疑問,Hadoop及其生態系統提供了解決大數據問題的新框架。這種解決方案廉價且可擴展,能夠在幾小時內處理TB級別的數據,而這在過去要花上幾天
時間。
目前已經出現了多款平臺來滿足這些企業的實時數據分析需求,這些平臺功能強大、易用而且開源。其中最引人注目的兩個平臺就是Apache Storm和Apache Spark,它們給潛在用戶提供了更寬泛的實時數據處理能力。這兩個項目同屬Apache軟件基金會,彼此的處理能力既有重疊的部分,又各具特色,因此在項目開發中扮演著不同的角色。
對于分布式流數據的可靠處理來講,Apache Storm是一個出色的框架,或者可以說它適用于復雜事件處理(Complex Event Processing,CEP)風格的數據處理。它能解
決大多數近/實時數據處理案例,但是它解決不了下面這些問題:
如果同樣的數據既需要批處理,也需要近實時的處理怎么辦?難道要部署兩個不同的框架嗎?
怎么融合兩種不同來源的數據流?
除了Java,我還能用別的編程語言嗎?
怎么把處理近實時流的系統和其他系統整合起來,如圖片、SQL、Hive等?
近實時的推薦、聚類、分類怎么處理?
Apache Spark解決了上述問題,它不僅保留了Hadoop和Storm的優點,還可以在一個統一的框架下使用多種語言編碼,如Python、Java、Scala。你甚至還可以在數據流與批處理的應用案例中使用同一段代碼。同時它也支持多種庫與擴展,例如:
Spark GraphX:用于開發圖形編程。
Spark DataFrames and SQL:執行SQL語句。
Spark MLlib:執行用于推薦、聚類和分類的機器學習算法。
Spark Streaming:用于實時處理流數據。
Apache Spark的一個值得注意的特點是這些庫和擴展的互用。例如,近實時數據流可以被轉換成圖形或者用SQL語句進行分析,或者可以在流數據上執行機器學習算法來提供推薦、聚類或者分類。
很有趣,不是嗎?
Apache Spark最開始是加利福尼亞大學伯克利分校的AMP實驗室開發的一個項目,后來加入Apache育成計劃并于2014年2月成為頂級項目。Spark不僅是一個通用的分布式計算平臺,它同時支持批處理和近實時數據的處理。
接下來我們將討論用Spark Streaming進行實時處理的實質問題。
在本書中,我們將介紹Spark Streaming的多方面內容,包括它的安裝和配置、體系結構、操作、與其他Spark庫及NoSQL數據庫的融合,以及產品環境中的部署
問題。
本書主要內容
第1章,Spark和Spark Streaming的安裝與配置。首先詳細介紹Spark和Spark Streaming的安裝和配置,包括運行Spark作業的軟硬件配置,Spark封裝的一些工具和實用程序的功能與用法。然后介紹開發者如何用Java和Scala編寫他們的第一個Spark作業,以及如何在集群上執行這個作業。最后討論Spark和Spark Streaming常見錯誤的定位技巧。
第2章,Spark和Spark Streaming的體系結構與組件。首先介紹批處理和實時數據處理的總體模型和復雜性。然后詳細描述Spark體系結構,以及Spark Streaming在體系結構中的位置。最后介紹開發者如何編寫他們的第一段Spark Streaming代碼并在Spark集群上執行。
第3章,實時處理分布式日志文件。首先討論Spark和Spark Streaming的包結構和多個重要的API。然后討論Spark和Spark Streaming的兩個核心組件——彈性分布式數據集和離散流。最后介紹一個分布式日志處理案例,這個案例利用Apache Flume從分布式數據源加載數據并交由Spark Streaming分發和執行作業。
第4章,在流數據中應用Transformation。首先討論Spark Streaming提供的多種轉換操作,包括功能、轉換和窗口操作,然后在流數據上應用這些轉換操作來改進我們的分布式日志處理案例。同時討論了改善Spark Streaming作業性能的多種因素和一些考慮。
第5章,日志分析數據的持久化。介紹Spark Streaming的輸出操作,并用Apache Cassandra來持久化Spark Streaming接收和處理的分布式日志數據。
第6章,與Spark高級庫集成。改善分布式日志文件處理案例并討論了Spark Streaming與Spark高級庫(比如GraphX和Spark SQL)的集成。
第7章,產品部署。討論了在產品中部署Spark Streaming時需要考慮的多方面的問題,包括高可用性、延遲容忍、監控等。同時討論了在其他集群計算框架(如YARN和Apache Mesos)中部署Spark Streaming作業的過程。
看這本書需要哪些準備
你應該已經有一些Scala的編程經驗,并對某個分布式計算平臺(如Apache Hadoop)有一些基本的知識和了解。
本書的目標讀者
本書需要讀者對Scala有很好的認識和理解,以便能夠利用核心組件和應用進行高效編程。
如果你正在閱讀本書,那么你可能已經對Scala有了豐富的了解。這本書講的是利用Spark Streaming進行實時數據的處理,同時討論了利用Spark Streaming的多種API和操作進行近實時的分布式日志流的處理。
慣例
在本書中,你會看到一些文本的格式和其他信息的格式不同,這里先舉幾個例子并解釋它們的含義。
文本、數據庫表名、文件夾名、文件名、文件擴展名、路徑、偽URL、用戶輸入和Twitter標簽的字體像下面這樣:“在Linux操作系統上執行sudo ulimit –n 20000可以增加ulimit。”
語句塊都寫成下面的形式:
public class JavaFirstSparkExample {
public static void main(String args[]){
//Java Main Method
}
}
命令行的輸入和輸出都寫成下面的形式:
export FLUME_HOME=<path of extracted Flume binaries>
新定義和重要的名詞都會用粗體標明。在屏幕上看到的詞,比如在菜單或者對話框中看到的詞,會以如下文本的形式顯示:“單擊‘下一步’按鈕可以移動到下一屏。”
警告或者重要提示會出現在這樣的方框里。
提示和技巧會這么寫。
讀者反饋
歡迎我們的讀者反饋意見。你喜歡或者不喜歡本書的哪一點,請告訴我們。讀者的反饋對我們來說非常重要,這能幫助我們做出讀者最能獲益的內容來。
內容簡介:

本書主要對Spark和Spark的安裝、配置、主要架構和組件進行介紹,并介紹如何利用SparkStreaming進行實時數據的處理,討論利用Spark Streaming的多種API和操作進行近實時的分布式日志流的處理。本書要求讀者對Scala有很好的認識和理解,以便能夠利用核心組件和應用進行高效編程。

目錄:

第1章?Spark和Spark Streaming的安裝與配置 1
安裝Spark 2
硬件需求 2
軟件需求 4
安裝Spark擴展——Spark Streaming 7
配置和運行Spark集群 8
你的第一個Spark程序 11
用Scala編碼Spark作業 12
用Java開發Spark作業 15
管理員/開發者工具 18
集群管理 18
提交Spark作業 19
故障定位 20
配置端口號 20
類路徑問題——類沒有發現 20
其他常見異常 20
總結 21
第2章?Spark和Spark Streaming的體系結構與組件 23
批處理和實時數據處理的比較 24
批處理 24
實時數據處理 26
Spark的體系結構 28
Spark對比Hadoop 28
Spark的層次化結構 29
Spark Streaming的體系結構 31
Spark Streaming是什么 32
Spark Streaming的上層體系結構 32
你的第一個Spark Streaming程序 34
用Scala編碼Spark Streaming作業 34
用Java編碼Spark Streaming作業 37
客戶端程序 39
打包和部署一個Spark Streaming作業 41
總結 43
第3章?實時處理分布式日志文件 45
Spark的封裝結構和客戶端API 46
Spark內核 48
Spark庫及擴展 54
彈性分布式數據集及離散流 58
彈性分布式數據集 59
離散流 63
從分布的、多樣的數據源中加載數據 65
Flume 框架 67
Flume的安裝和配置 69
配置Spark以接收Flume事件 73
封裝和部署Spark Streaming作業 77
分布式日志文件處理的總體架構 77
總結 78
第4章?在流數據中應用Transformation 79
理解并應用Transformation功能 80
模擬日志流 80
功能操作 82
轉換操作 89
窗口操作 91
性能調優 94
分塊和并行化 94
序列化 94
Spark內存調優 95
總結 97
第5章?日志分析數據的持久化 99
Spark Streaming的輸出操作 100
集成Cassandra 110
安裝和配置Apache Cassandra 110
配置Spark 112
通過編寫Spark作業將流式網頁日志存入Cassandra 113
總結 120
第6章?與Spark高級庫集成 121
實時查詢流數據 122
了解Spark SQL 122
集成Spark SQL與流數據 129
圖的分析——Spark GraphX 135
GraphX API介紹 137
集成Spark Streaming 140
總結 147
第7章?產品部署 149
Spark部署模式 150
部署在Apache Mesos上 151
部署在Hadoop或者YARN上 156
高可用性和容錯性 160
單機模式下的高可用性 160
Mesos或者YARN下的高可用性 162
容錯性 162
Streaming 作業的監聽 166
應用程序UI界面/作業UI界面 166
與其他監控工具的集成 169
總結 170
序: