window_time(col)
Описание
Функция window_time()
возвращает время окна для строки в окне. Это функция, которая должна использоваться с window()
.
Параметры
col
: Column - столбец с timestamp для получения времени окна
Возвращаемое значение
Timestamp - время окна
Пример использования
from pyspark.sql.functions import window, window_time, col
from pyspark.sql import SparkSession
# Создаем SparkSession
spark = SparkSession.builder.appName("window_time_example").getOrCreate()
# Создаем DataFrame
data = [
("2023-01-01 12:00:00", "A", 1),
("2023-01-01 12:05:00", "A", 2),
("2023-01-01 12:10:00", "A", 3),
("2023-01-01 12:15:00", "B", 4),
("2023-01-01 12:20:00", "B", 5)
]
df = spark.createDataFrame(data, ["timestamp", "id", "value"])
# Создаем окно и получаем время окна
result = df.select(
window("timestamp", "10 minutes").alias("window"),
window_time("timestamp").alias("window_time"),
"id",
"value"
).show(truncate=False)
# Результат:
# +------------------------------------------+-------------------+---+-----+
# |window |window_time |id |value|
# +------------------------------------------+-------------------+---+-----+
# |{2023-01-01 12:00:00, 2023-01-01 12:10:00}|2023-01-01 12:00:00|A |1 |
# |{2023-01-01 12:00:00, 2023-01-01 12:10:00}|2023-01-01 12:00:00|A |2 |
# |{2023-01-01 12:10:00, 2023-01-01 12:20:00}|2023-01-01 12:10:00|A |3 |
# |{2023-01-01 12:10:00, 2023-01-01 12:20:00}|2023-01-01 12:10:00|B |4 |
# |{2023-01-01 12:20:00, 2023-01-01 12:30:00}|2023-01-01 12:20:00|B |5 |
# +------------------------------------------+-------------------+---+-----+
Примечания
- Функция должна использоваться вместе с
window()
- Для создания сессионного окна используйте
session_window()
- Для получения начала окна используйте
window.start
- Для получения конца окна используйте
window.end