Middle
Czy masz doświadczenie z szeregami czasowymi i PySpark?
sobes.tech AI
Odpowiedź od AI
Tak, doświadczenie z szeregami czasowymi w PySpark obejmuje przetwarzanie dużych ilości danych z znacznikami czasu, agregację, okna przesuwne i stosowanie modeli prognostycznych.
W PySpark często korzysta się z funkcji z modułu pyspark.sql.functions, na przykład window do grupowania według przedziałów czasowych.
Przykład agregacji danych co godzinę:
from pyspark.sql import SparkSession
from pyspark.sql.functions import window, avg
spark = SparkSession.builder.getOrCreate()
dane = [
("2024-06-01 10:05:00", 10),
("2024-06-01 10:15:00", 20),
("2024-06-01 11:00:00", 30),
]
schema = "timestamp STRING, value INT"
df = spark.createDataFrame(dane, schema=schema)
df = df.withColumn("timestamp", df["timestamp"].cast("timestamp"))
wynik = df.groupBy(window("timestamp", "1 godzina")).agg(avg("value").alias("średnia_wartość"))
wynik.show(truncate=False)
Ten sposób pozwala na efektywne przetwarzanie i analizę szeregów czasowych na dużych zbiorach danych.