本文簡要介紹
pyspark.sql.DataFrame.withWatermark
的用法。用法:
DataFrame.withWatermark(eventTime, delayThreshold)
為此
DataFrame
定義事件時間水印。水印跟蹤一個時間點,在此之前我們假設不再有遲到的數據到達。知道何時可以完成給定的時間窗口聚合,從而可以在使用不允許更新的輸出模式時發出。
為了最小化我們需要為on-going 聚合保留的狀態量。
Spark 將出於多種目的使用此水印::
當前水印是通過查看查詢中所有分區中看到的
MAX(eventTime)
減去用戶指定的delayThreshold
來計算的。由於跨分區協調此值的成本,實際使用的水印隻能保證至少比實際事件時間晚delayThreshold
。在某些情況下,我們可能仍會處理晚於delayThreshold
的記錄。2.1.0 版中的新函數。
- eventTime:str
包含行的事件時間的列的名稱。
- delayThreshold:str
等待數據遲到的最小延遲,相對於以間隔形式處理的最新記錄(例如“1分鍾”或“5小時”)。
參數:
注意:
這個 API 正在發展。
>>> from pyspark.sql.functions import timestamp_seconds >>> sdf.select( ... 'name', ... timestamp_seconds(sdf.time).alias('time')).withWatermark('time', '10 minutes') DataFrame[name: string, time: timestamp]
相關用法
- Python pyspark DataFrame.withColumn用法及代碼示例
- Python pyspark DataFrame.withColumnRenamed用法及代碼示例
- Python pyspark DataFrame.where用法及代碼示例
- Python pyspark DataFrame.writeTo用法及代碼示例
- Python pyspark DataFrame.to_latex用法及代碼示例
- Python pyspark DataFrame.align用法及代碼示例
- Python pyspark DataFrame.plot.bar用法及代碼示例
- Python pyspark DataFrame.to_delta用法及代碼示例
- Python pyspark DataFrame.quantile用法及代碼示例
- Python pyspark DataFrame.cumsum用法及代碼示例
- Python pyspark DataFrame.iloc用法及代碼示例
- Python pyspark DataFrame.dropDuplicates用法及代碼示例
- Python pyspark DataFrame.printSchema用法及代碼示例
- Python pyspark DataFrame.to_table用法及代碼示例
- Python pyspark DataFrame.rmod用法及代碼示例
- Python pyspark DataFrame.div用法及代碼示例
- Python pyspark DataFrame.drop_duplicates用法及代碼示例
- Python pyspark DataFrame.to_pandas用法及代碼示例
- Python pyspark DataFrame.sum用法及代碼示例
- Python pyspark DataFrame.transform用法及代碼示例
- Python pyspark DataFrame.get用法及代碼示例
- Python pyspark DataFrame.rsub用法及代碼示例
- Python pyspark DataFrame.pandas_on_spark.apply_batch用法及代碼示例
- Python pyspark DataFrame.groupBy用法及代碼示例
- Python pyspark DataFrame.head用法及代碼示例
注:本文由純淨天空篩選整理自spark.apache.org大神的英文原創作品 pyspark.sql.DataFrame.withWatermark。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。