pyspark.sql.DataFrame.withWatermark

DataFrame。 withWatermark ( eventTime:str,delayThreshold:str )→pyspark.sql.dataframe.DataFrame

定義了一個事件時間水印DataFrame。水印追蹤一個時間點之前,我們認為,遲到沒有更多的數據。

火花將使用這個水印幾個目的:
  • 知道當一個給定的時間窗口聚合可以完成,因此可以使用輸出模式時發出不允許更新。

  • 最小化的狀態,我們需要保持正在進行的聚合。

當前水印是通過查看計算馬克斯(eventTime)查詢中看到的所有分區-用戶指定delayThreshold。由於成本的協調跨分區這個值,實際水印隻保證至少使用delayThreshold在實際的事件時間。在某些情況下,我們可能仍然過程記錄,超過到達delayThreshold遲了。

參數
eventTime str

列的名稱,它包含的活動時間。

delayThreshold str

的最小延遲等遲到的數據,相對於最新的記錄,一直在處理一個區間的形式(如“1分”或“5小時”)。

筆記

這個API是不斷發展的。

> > >pyspark.sql.functions進口timestamp_seconds> > >自衛隊選擇(“名字”,timestamp_seconds(自衛隊時間)別名(“時間”))withWatermark(“時間”,“十分鍾”)DataFrame(名字:字符串,時間:時間戳)