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