说明:
为此流式 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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。