1. 程式人生 > >《深入理解Spark》之spark Streaming概念的再理解

《深入理解Spark》之spark Streaming概念的再理解

1、spark Streaming是一個微批處理的框架

2、批處理時間間隔 batchInterval 
     >> 表示在batchInterval時間內Spark 所接收的資料被當做一個批次做處理
3、批處理時間間隔(batchInterval)、視窗長度(windowLen)、視窗滑動時間(windowSlide)之間的關係
   >> 3.1 spark提交作業最小的單位是batchInterval即在batchInterval時間內的資料作為資料處理最小的單位
   >> 3.2 windowLen 表示處理的"資料量"即處理的資料量是batchInterval的N倍,N具體是幾就要看windowLen是batchInterval的幾倍
   >> 3.3 windowSlide 表示提交作業的時長,也是batchInterval的整數倍
   >> 3.4 eg:如果 batchInterval=t,  windowLen=10t,  windowSlide=3t 
        >> 此時,spark每次會處理最近10t時間內的資料,即每3t時間處理一次,處理的資料時最近10t內的資料
>> 在現實中比如天貓雙11的銷售額,每10秒鐘處理一下最近24小時的銷售額,這個10秒鐘就是windowSlide,24小時就是windowLen
>> 由此可見,windowLen和windowSlide都必須是batchInterval的整數倍
4、DStream的原理以及與RDD的關係
>> 4.1 DStream是針對RDD的抽象,表示一系列在時間上連續的RDD
>> 4.2 Dstream中包含3大部分(1)、DStream之間的依賴關係,即操作鏈依賴 (2)、一系列時間上連續的RDD,使用HashMap<Time,RDD>持有,新的RDD不斷的新增到這個hash表中,
>>而舊的不需要的則會從這個hash表中刪除,(3)、用於對RDD進行計算的compute()函式,當對Dstream進行計算時,通過這個函式作用於RDD上
5、spark的容錯處理
>> 5.1 Worker節點失效 
>>5.1.1 如果資料的輸入源在HDFS上,那麼在任務恢復時可以再次計算出來
>>5.1.2 如果資料來源是網路或者kafka則有可能丟失一部分資料
>>5.1.3 如果是轉換操作可以實現精處理一次,如果是寫出操作則能保證至少處理一次
>> 5.2 Driver節點失效
>> 可以通過設定checkPoint來預防Driver失效,設定checkPoint,sparkStreaming會週期性的將Dstream的元資料寫入到HDFS中,如果Driver節點失效,則可以通過其記錄點將StreamingContext回覆
>> 如果使用checkPoint則通過 JavaStreamingContext.getOrCreate方法獲取 JavaStreamingContext的物件,還需要注意的是當spark應用重新編譯後就不能通過checkPoint恢復到原來的狀態了
>> 所以在每次編譯程式碼後要顯示的把checkPoint路徑下的檔案刪除
>> 5.3 這些情況在standalone模式下會自動回覆,其他模式下則需要藉助其他機制輔助

6、spark Streaming作業
>> 6.1 類似於spark作業,spark Streaming作業通過輸出操作觸發
>> 6.2 spark Streaming作業最終會轉換為spark作業而被spark叢集執行

相關推薦

效能測試概念理解——集合點

什麼是集合點 集合點可以簡單得理解為一種控制虛擬使用者行為的機制,該機制可以達到在一定時間範圍內將一定數量的虛擬使用者阻擋在一個操作行為點前的位置進行互相等待,在條件(達到虛擬使用者數量或超時)到達後喚醒全部等待中的虛擬使用者,從而達到使得一定數量的虛

深入理解Sparkspark Streaming概念理解

1、spark Streaming是一個微批處理的框架 2、批處理時間間隔 batchInterval       >> 表示在batchInterval時間內Spark 所接收的資料被當做一個批次做處理 3、批處理時間間隔(batchInterval)、視窗長

大資料培訓核心知識點Hbase、Hive、Spark和MapReduce的概念理解、特點及機制等

今天,上海尚學堂大資料培訓班畢業的一位學生去參加易普軟體公司面試,應聘的職位是大資料開發。面試官問了他10個問題,主要集中在Hbase、Spark、Hive和MapReduce上,基礎概念、特點、應用場景等問得多。看來,還是非常注重基礎的牢固。整個大資料開發技術,這幾個技術知識點佔了很大一部分。那本

深入理解SparkSpark常用運算元詳解(java版+spark1.6.1)

最近公司要用Java開發Spark專案,以前用的是Scala語言,今天就把Spark常用的運算元使用java語言實現了一遍 XML Code  1 2 3 4 5 6 7 8 9 10 11 12

深入理解SparkListenerBus監聽器

ListenerBus對消費佇列的實現 上圖為LiveListenerBus類的申明 self => 這句相當於給this起了一個別名為self LiveListenerBus負責將SparkListenerEvents非同步傳送過已經註冊過的S

深入理解SparkSpark-Stream概述1(官方文件翻譯版)

最近在學英語,學以致用,就嘗試著看Spark的官方文件,並試著翻譯了部分,由於水平有限如果有所疏漏的地方歡迎指正 * Spark Stream Overview * Spark Streaming

深入理解SparkSpark與Kafka整合原理

spark和kafka整合有2中方式 1、receiver 顧名思義:就是有一個執行緒負責獲取資料,這個執行緒叫receiver執行緒 解釋: 1、Spark叢集中的某個executor中有一個receiver執行緒,這個執行緒負責從kafka中獲取資料  注意

Spark深入學習-11】Spark基本概念和運行模式

nmf 磁盤 大數據平臺 並不是 鼠標 .cn 管理系統 大型數據集 spa ----本節內容------- 1.大數據基礎 1.1大數據平臺基本框架 1.2學習大數據的基礎 1.3學習Spark的Hadoop基礎 2.Hadoop生態基本介紹 2.1

Spark深入學習 -15】Spark Streaming前奏-Kafka初體驗

rod htm 新的 callback tails 包括 -c 舉例 清理 ----本節內容------- 1.Kafka基礎概念 1.1 出世背景 1.2 基本原理 1.2.1.前置知識 1.2.2.架構和原理 1.2.

【轉載】Spark學習——spark中的幾個概念理解及參數配置

program submit man 聯眾 tail 進行 orb 數據源 work 首先是一張Spark的部署圖: 節點類型有: 1. master 節點: 常駐master進程,負責管理全部worker節點。2. worker 節點: 常駐worker進程,負責管理

基礎概念 Spark on Yarn

資源 兩個 htm 底層 兩種 nta 一起 () 所在 先拋出問題:Spark on Yarn有cluster和client兩種模式,它們有什麽區別? 用Jupyter寫Spark時,只能使用client模式,為什麽? 寫一篇文章,搞清楚 Spark on Yarn 的運

分分鐘理解大資料基礎Spark

一背景 Spark 是 2010 年由 UC Berkeley AMPLab 開源的一款 基於記憶體的分散式計算框架,2013 年被Apache 基金會接管,是當前大資料領域最為活躍的開源專案之一 Spark 在 MapReduce 計算框架的基礎上,支援計算物件資料可以直接快取到記憶體中,大大提高了整體

分分鐘理解大數據基礎Spark

概念 rap http oss 結果 文件 yar 客戶 mapreduce 一背景 Spark 是 2010 年由 UC Berkeley AMPLab 開源的一款 基於內存的分布式計算框架,2013 年被Apache 基金會接管,是當前大數據領域最為活躍的開源項目之一

大資料Spark(六)--- Spark Streaming介紹,DStream,Receiver,Streamin整合Kafka,Windows,容錯的實現

一、Spark Streaming介紹 ----------------------------------------------------------- 1.介紹 是spark core的擴充套件,針對實時資料的實時流處理技術 具有可擴充套件、高吞吐量、

大資料分析技術與實戰 Spark Streaming

Spark是基於記憶體的大資料綜合處理引擎,具有優秀的作業排程機制和快速的分散式計算能力,使其能夠更加高效地進行迭代計算,因此Spark能夠在一定程度上實現大資料的流式處理。 隨著資訊科技的迅猛發展,資料量呈現出爆炸式增長趨勢,資料的種類與變化速度也遠遠超出人們的想象,因此人們對大資料處理提出了

spark筆記Spark Streaming整合flume實戰

a1.sources = r1 a1.sinks = k1 a1.channels = c1 #source a1.sources.r1.channels = c1 a1.sources.r1.type = spooldir a1.sources.r1.

spark筆記Spark Streaming整合kafka實戰

kafka作為一個實時的分散式訊息佇列,實時的生產和消費訊息,這裡我們可以利用SparkStreaming實時地讀取kafka中的資料,然後進行相關計算。 在Spark1.3版本後,KafkaUtils裡面提供了兩個建立dstream的方法,一種為KafkaUtils.cr

大資料學習筆記sparkspark streaming----快速通用計算引擎

導語 spark 已經成為廣告、報表以及推薦系統等大資料計算場景中首選系統,因效率高,易用以及通用性越來越得到大家的青睞,我自己最近半年在接觸spark以及spark streaming之後,對spark技術的使用有一些自己的經驗積累以及心得體會,在此分享給大家。 本文依

spark

在Spark2.X.X後,想要在Spark-shell中執行這個命令,你需要使用spark.sqlContext.sql()的形式。spark的cache快取其中的方法 (儲存在記憶體中) .cache()  //進行快取.unpresist(true) //對資源進行釋放s

大資料分析技術與實戰Spark Streaming(內含福利)

↑ 點選上方藍字關注我們,和小夥伴一起聊技術! 隨著資訊科技的迅猛發展,資料量呈現出爆炸式增長趨勢,資料的種類與變化速度也遠遠超出人們的想象,因此人們對大資料處理提出了更高的要求,越來越多的領域迫切需要大資料技術來解決領域內的關鍵問題。在一些特定的領域中(例如金融、災害預警等),時間就是金錢、時間可能就