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(名字:字符串,時間:時間戳)