从窗口列计算事件时间。 列窗口值由窗口聚合运算符生成,并且其类型 STRUCT<start: TIMESTAMP, end: TIMESTAMP> 为 start 是非独占的,结尾是独占的。 窗口聚合运算符生成的记录的事件时间可以按原样 window_time(window) 计算( window.end - lit(1).alias("microsecond") 因为微秒是受支持的最小事件时间精度)。 窗口列必须是由窗口聚合运算符生成的列。
有关相应的 Databricks SQL 函数,请参阅 window_time 函数。
Syntax
from pyspark.databricks.sql import functions as dbf
dbf.window_time(windowColumn=<windowColumn>)
参数
| 参数 | 类型 | Description |
|---|---|---|
windowColumn |
pyspark.sql.Column 或 str |
窗口聚合记录的窗口列。 |
退货
pyspark.sql.Column:计算结果的列。
例子
import datetime
from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([(datetime.datetime(2016, 3, 11, 9, 0, 7), 1)], ['dt', 'v'])
df2 = df.groupBy(dbf.window('dt', '5 seconds')).agg(dbf.sum('v'))