說明:
為此流式 SparkDataFrame 定義事件時間水印。水印跟蹤一個時間點,在此之前我們假設不再有遲到的數據到達。
用法:
withWatermark(x, eventTime, delayThreshold)
## S4 method for signature 'SparkDataFrame,character,character'
withWatermark(x, eventTime, delayThreshold)
參數:
x
流式 SparkDataFrameeventTime
一個字符串,指定包含行的事件時間的列的名稱。delayThreshold
一個字符串,指定等待數據延遲到達的最小延遲,相對於以間隔形式處理的最新記錄(例如“1分鍾”或“5小時”)。注意:這不應該是負麵的。
細節:
Spark 將出於多種目的使用此水印:
知道何時可以完成給定的時間窗口聚合,從而可以在使用不允許更新的輸出模式時發出。
為了最小化我們需要為on-going 聚合保留的狀態量。
當前水印是通過查看查詢中所有分區中看到的 MAX(eventTime)
減去用戶指定的 delayThreshold
來計算的。由於跨分區協調此值的成本,實際使用的水印隻能保證至少比實際事件時間晚delayThreshold
。在某些情況下,我們可能仍會處理晚於 delayThreshold
的記錄。
返回:
一個 SparkDataFrame。
注意:
withWatermark 自 2.3.0 起
例子:
sparkR.session()
schema <- structType(structField("time", "timestamp"), structField("value", "double"))
df <- read.stream("json", path = jsonDir, schema = schema, maxFilesPerTrigger = 1)
df <- withWatermark(df, "time", "10 minutes")
相關用法
- R SparkR withColumn用法及代碼示例
- R SparkR with用法及代碼示例
- R SparkR withField用法及代碼示例
- R SparkR windowPartitionBy用法及代碼示例
- R SparkR windowOrderBy用法及代碼示例
- R SparkR write.df用法及代碼示例
- R SparkR write.json用法及代碼示例
- R SparkR write.parquet用法及代碼示例
- R SparkR write.orc用法及代碼示例
- R SparkR write.stream用法及代碼示例
- R SparkR write.jdbc用法及代碼示例
- R SparkR write.text用法及代碼示例
- R matrix轉list用法及代碼示例
- R SparkR freqItems用法及代碼示例
- R SparkR intersectAll用法及代碼示例
- R SparkR spark.decisionTree用法及代碼示例
- R SparkR sparkR.callJMethod用法及代碼示例
- R SparkR sample用法及代碼示例
- R SparkR approxQuantile用法及代碼示例
- R SparkR glm用法及代碼示例
注:本文由純淨天空篩選整理自spark.apache.org大神的英文原創作品 withWatermark。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。