spark視窗操作

2022-06-05 23:03:12 字數 1055 閱讀 6782

流資料的視窗操作:

視窗操作,即把幾個批次的資料整合到乙個視窗裡計算,並且視窗根據步長不斷滑動。

本質:把小批次,小顆粒的資料任意進行大批次和大顆粒的資料統計,意味著批次採集週期不用設定太大,可以通過滑動視窗來調整資料出現的粒度。

code:

package

com.home.spark.streaming

import

org.apache.kafka.clients.consumer.consumerrecord

import

org.apache.kafka.common.serialization.stringdeserializer

import

org.apache.spark.sparkconf

import

org.apache.spark.streaming.dstream.

import

org.apache.spark.streaming.kafka010.

import

org.apache.spark.streaming.

/*** @description:

* todo 視窗操作,即把幾個批次的資料整合到乙個視窗裡計算,並且視窗根據步長不斷滑動

* 所有基於視窗的操作都需要兩個引數,分別為視窗時長以及滑動步長,兩者都必須是 streamcontext 的批次間隔的整數倍。

* 視窗時長控制每次計算最近的多少個批次的資料,其實就是最近的 windowduration/batchinterval 個批次。

* 如果有乙個以 10 秒為批次間隔的源 dstream,要建立乙個最近 30 秒的時間視窗(即最近 3 個批次),就應當把 windowduration 設為 30 秒。

* 而滑動步長的預設值與批次間隔相等,用來控制對新的 dstream 進行計算的間隔。如果源 dstream 批次間隔為 10 秒,

* 並且我們只希望每兩個批次計算一次視窗結果, 就應該把滑動步長設定為 20 秒。

**/object ex_window

}

Spark操作 控制操作

cache和persist操作都是對rdd進行持久化,其中cache是persist採用memory only儲存級別時的乙個特例,scala var rdd sc.textfile users lyf desktop data.txt scala rdd.cache 第一次計算行數,這裡只能從本地...

spark 常用操作

該文章記錄使用的spark的基本操作 import breeze.numerics.pow import org.apache.spark.sparkconf import org.apache.spark.sql.sparksession object template val dot udf u...

Spark操作 轉換操作 一

基礎轉換操作 鍵值轉換操作 對rdd中的每個元素都應用乙個指定的函式,以此產生乙個新的rdd scala var rdd sc.textfile users lyf desktop test data1.txt scala rdd.map line line.split collect res16 ...