Spark生態圈小貼士

學習Spark的基本組件,主要由SparkSql、SparkStreaming等構成,簡單理解其基本原理,構建Spark生態的全貌。

一、Spark Sql常識

Spark Sql提供了對于結構化和半結構化數據的快速操作,主要具備以下三種功能,

(1)從多種結構化數據源(json、parquet和hive)中讀取數據

(2)支持Spark應用程序內部調用和外部工具通過標準連接器連接Spark Sql進行查詢

(3)Spark Sql中sql與Java/Python/Scala代碼高度整合

二、Spark Streaming常識

(1)Spark Streaming中使用離散化流作抽象表示并稱為DStream,其由RDD組成的隊列

(2)Spark Streaming支持兩種操作,轉化操作和輸出操作,轉化操作輸出為新的DStream,輸出操作將結果輸出到硬盤上。轉化操作包括無狀態和有狀態,重點關注有狀態的轉化操作。

(3)有狀態的操作主要是兩種類型,一種以時間階段為滑動窗口進行操作,一種用來跟蹤每個鍵的狀態變化。基于窗口的操作需要兩個參數,分別為窗口時長和滑動步長,兩者都必須是SparkContext設置的批次間隔的整數倍,前者控制每次計算最近的多少個批次的數據,后者用來控制對新的DStream進行計算的間隔,如圖所示,

1-基于窗口的轉化操作

當需要在DStream跨批次維護狀態時,使用updateStateByKey()為我們提供對一個狀態變量的訪問,用于鍵值對形式的DStream,比如跟蹤用戶訪問網站的會話。

Spark體系

大數據時代

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容