pandas_udf combină flexibilitatea bibliotecilor științifice din Python (pandas, NumPy, SciPy) cu viteza de execuție distribuită Spark. Folosind formatul de memorie columnar Apache Arrow, datele sunt transferate direct între JVM și procesele Python fără costul serializării standard.
Performanța poate fi de până la 100 de ori mai mare comparativ cu un UDF Python convențional.
Exemplu: Calcul scalar vectorizat pe serii pandas
import pandas as pd
from pyspark.sql.functions import pandas_udf
from pyspark.sql.types import DoubleType
@pandas_udf(DoubleType())
def calculeaza_tva_vectorizat(pret: pd.Series) -> pd.Series:
# Operație vectorizată nativă peste coloana pandas:
return pret * 0.19
df_cu_tva = df.withColumn("valoare_tva", calculeaza_tva_vectorizat(F.col("pret_baza")))
df_cu_tva.show(5)
Întrebări & Exemple de Cod:
UDF-uri Vectorizate de Mare Viteză cu pandas_udfAi o nelămurire despre utilizarea comenzii
UDF-uri Vectorizate de Mare Viteză cu pandas_udfsau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!
Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.