原创 RDD 任務劃分

v> RDD 任務切分中間分爲:Application、Job、Stage 和 Task    Application:初始化一個 SparkContext 即生成一個 Application;    Job:一個 Action 算子就會生

原创 Spark中RDD階段劃分

分析源碼步驟: 第一步程序入口:  第二步一直查看runjob方法,可以看出collect()是RDD行動算子,與Job運行提交相關 rdd.scala  sparkcontext.scala   sparkcontext.scala

原创 glom用法

Spark glom 功能:該函數將RDD中每一個分區變成一個數組,並放置在新的RDD中,數組中元素的類型與原分區中元素類型一致 val conf: SparkConf = new SparkConf().setMaster("l

原创 mapPartition與map函數

dd的mapPartitions是map的一個變種,它們都可進行分區的並行處理。兩者的主要區別是調用的粒度不一樣:map的輸入變換函數是應用於RDD中每個元素,而mapPartitions的輸入函數是應用於每個分區。Map 算子是分區內一個

原创 Spark Streaming程序優雅關閉

流式任務需要 7*24 小時執行,但是有時涉及到升級代碼需要主動停止程序,但是分佈式程序,沒辦法做到一個個進程去殺死,所有配置優雅的關閉就顯得至關重要了。使用外部文件系統來控制內部程序關閉。 其實就是單獨起一個線程專門去專門查找程序是否停止

原创 Spark中DStream 輸出

輸出操作指定了對流數據經轉化操作得到的數據所要執行的操作(例如把結果推入外部數據庫或輸出到屏幕上)。與 RDD 中的惰性求值類似,如果一個 DStream 及其派生出的 DStream 都沒有被執行輸出操作,那麼這些 DStream 就都不

原创 spark streaming中join操作

/** * Return a new DStream by applying 'join' between RDDs of `this` DStream and `other` DStream. * The supplie

原创 有狀態轉化操作WindowOperations

Window Operations 可以設置窗口的大小和滑動窗口的間隔來動態的獲取當前 Steaming 的允許狀態。所有基於窗口的操作都需要兩個參數,分別爲窗口時長以及滑動步長。 ➢ 窗口時長:計算內容的時間範圍; ➢ 滑動步長:隔多久觸

原创 DStream與RDD關係

RDD是怎麼生成的? RDD依靠什麼生成?根據DStream來的 RDD生成的依據是什麼? Spark Streaming中RDD的執行是否和Spark Core中的RDD執行有所不同? 運行之後我們對RDD怎麼處理? ForEachDSt

原创 無狀態轉化操作

無狀態轉化操作就是把簡單的 RDD 轉化操作應用到每個批次上,也就是轉化 DStream 中的每一個 RDD。部分無狀態轉化操作列在了下表中。注意,針對鍵值對的 DStream 轉化操作(比如reduceByKey())要添加 import

原创 有狀態轉化操作UpdateStateByKey

UpdateStateByKey 原語用於記錄歷史記錄,有時,我們需要在 DStream 中跨批次維護狀態(例如流計算中累加 wordcount)。針對這種情況,updateStateByKey()爲我們提供了對一個狀態變量的訪問,用於鍵值

原创 Spark SQL的運行原理

DataFrame、DataSet 和 Spark SQL 的實際執行流程都是相同的: 1.進行 DataFrame/Dataset/SQL 編程;2.如果是有效的代碼,即代碼沒有編譯錯誤,Spark 會將其轉換爲一個邏輯計劃;3.Spar

原创 spark streaming簡介

Spark Streaming用於流式數據處理(準實時,微批次),Spark Streaming支持的數據源很多,例如:kafka、Flume、簡單的TCP套接字等,數據輸入後可以用Spark的高度抽象原語,如:map、join、reduc

原创 HDFS HA配置後無法實現自動切換

對HDFS結合Zookeeper進行HA配置後無法實現自動切換,將active的namenode殺掉namenode進程後,standby的namenode並未自動切換爲active,經查詢,應將hdfs-site.xml中dfs.ha.f

原创 vue 類型檢查Prop 驗證

我們可以爲組件的 prop 指定驗證要求,例如你知道的這些類型。如果有一個需求沒有被滿足,則 Vue 會在瀏覽器控制檯中警告你。這在開發一個會被別人用到的組件時尤其有幫助。 爲了定製 prop 的驗證方式,你可以爲 props 中的值提供一