Skip to content

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