diff(col)
Описание
Функция diff()
вычисляет разницу между текущим значением и предыдущим значением в окне.
Параметры
col
: Column - числовой столбец
Возвращаемое значение
Column - разница между текущим и предыдущим значением
Пример использования
from pyspark.sql.functions import diff, window
from pyspark.sql import SparkSession
from pyspark.sql.window import Window
# Создаем SparkSession
spark = SparkSession.builder.appName("diff_example").getOrCreate()
# Создаем DataFrame с временными рядами
data = [
("2023-01-01", 100),
("2023-01-02", 120),
("2023-01-03", 115),
("2023-01-04", 130),
("2023-01-05", 125)
]
df = spark.createDataFrame(data, ["date", "value"])
# Определяем окно
windowSpec = Window.orderBy("date")
# Вычисляем разницу
df = df.withColumn("difference", diff("value").over(windowSpec))
df.show(truncate=False)
# Результат:
# +----------+-----+----------+
# |date |value|difference|
# +----------+-----+----------+
# |2023-01-01|100 |null |
# |2023-01-02|120 |20 |
# |2023-01-03|115 |-5 |
# |2023-01-04|130 |15 |
# |2023-01-05|125 |-5 |
# +----------+-----+----------+