本文簡要介紹
pyspark.sql.functions.session_window
的用法。用法:
pyspark.sql.functions.session_window(timeColumn, gapDuration)
在給定時間戳指定列的情況下生成會話窗口。會話窗口是動態窗口之一,這意味著窗口的長度根據給定的輸入而變化。會話窗口的長度定義為“會話最新輸入的時間戳+間隙持續時間”,因此當新的輸入綁定到當前會話窗口時,會話窗口的結束時間可以根據新的輸入進行擴展。 Windows 可以支持微秒精度。不支持幾個月級的 Windows。對於流式查詢,您可以使用函數
current_timestamp
生成處理時間窗口。 gapDuration 以字符串形式提供,例如‘1秒’、‘1天12小時’、‘2分鍾’。有效的間隔字符串是‘week’, ‘day’, ‘hour’, ‘minute’, ‘second’, ‘millisecond’, ‘microsecond’。它也可以是一個列,可以根據輸入行動態評估間隙持續時間。默認情況下,輸出列將是一個名為 ‘session_window’ 的結構,其中包含嵌套列 ‘start’ 和 ‘end’,其中 ‘start’ 和 ‘end’ 將屬於pyspark.sql.types.TimestampType
。版本 3.2.0 中的新函數。
參數:
例子:
>>> df = spark.createDataFrame([("2016-03-11 09:00:07", 1)]).toDF("date", "val") >>> w = df.groupBy(session_window("date", "5 seconds")).agg(sum("val").alias("sum")) >>> w.select(w.session_window.start.cast("string").alias("start"), ... w.session_window.end.cast("string").alias("end"), "sum").collect() [Row(start='2016-03-11 09:00:07', end='2016-03-11 09:00:12', sum=1)] >>> w = df.groupBy(session_window("date", lit("5 seconds"))).agg(sum("val").alias("sum")) >>> w.select(w.session_window.start.cast("string").alias("start"), ... w.session_window.end.cast("string").alias("end"), "sum").collect() [Row(start='2016-03-11 09:00:07', end='2016-03-11 09:00:12', sum=1)]
相關用法
- Python pyspark second用法及代碼示例
- Python pyspark sequence用法及代碼示例
- Python pyspark sentences用法及代碼示例
- Python pyspark slice用法及代碼示例
- Python pyspark size用法及代碼示例
- Python pyspark struct用法及代碼示例
- Python pyspark spark_partition_id用法及代碼示例
- Python pyspark split用法及代碼示例
- Python pyspark shiftleft用法及代碼示例
- Python pyspark schema_of_csv用法及代碼示例
- Python pyspark sort_array用法及代碼示例
- Python pyspark sha1用法及代碼示例
- Python pyspark substring用法及代碼示例
- Python pyspark shiftright用法及代碼示例
- Python pyspark shiftrightunsigned用法及代碼示例
- Python pyspark sql用法及代碼示例
- Python pyspark sha2用法及代碼示例
- Python pyspark substring_index用法及代碼示例
- Python pyspark schema_of_json用法及代碼示例
- Python pyspark soundex用法及代碼示例
- Python pyspark shuffle用法及代碼示例
- Python pyspark create_map用法及代碼示例
- Python pyspark date_add用法及代碼示例
- Python pyspark DataFrame.to_latex用法及代碼示例
- Python pyspark DataStreamReader.schema用法及代碼示例
注:本文由純淨天空篩選整理自spark.apache.org大神的英文原創作品 pyspark.sql.functions.session_window。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。