Delen via


Door de gebruiker gedefinieerde functies in Databricks Connect voor Python

Notitie

Dit artikel bevat informatie over Databricks Connect voor Databricks Runtime 13.1 en hoger.

In dit artikel wordt beschreven hoe u UDF's uitvoert met Databricks Connect voor Python. Met Databricks Connect kunt u populaire IDE's, notebookservers en aangepaste toepassingen verbinden met Azure Databricks-clusters. Zie door de gebruiker gedefinieerde functies in Databricks Connect voor Scalavoor de Scala-versie van dit artikel.

Notitie

Voordat u Databricks Connect gaat gebruiken, moet u de Databricks Connect-client instellen.

Databricks Connect voor Python ondersteunt door de gebruiker gedefinieerde functies (UDF). Wanneer een Dataframe-bewerking met UDF's wordt uitgevoerd, worden de betrokken UDF's geserialiseerd door Databricks Connect en verzonden naar de server als onderdeel van de aanvraag.

Notitie

Omdat de door de gebruiker gedefinieerde functie wordt geserialiseerd en gedeserialiseerd, moet de Python-versie die door de client wordt gebruikt, overeenkomen met de Python-versie in het Azure Databricks-cluster. Als u de Python-versie van het cluster wilt controleren, raadpleegt u de sectie 'Systeemomgeving' voor de Databricks Runtime-versie van het cluster in releaseopmerkingen voor de releaseversies van Databricks Runtime en compatibiliteit.

Met het volgende Python-programma stelt u een eenvoudige UDF in die waarden in een kolom kwadrateert.

from pyspark.sql.functions import col, udf
from pyspark.sql.types import IntegerType
from databricks.connect import DatabricksSession

@udf(returnType=IntegerType())
def double(x):
    return x * x

spark = DatabricksSession.builder.getOrCreate()

df = spark.range(1, 2)
df = df.withColumn("doubled", double(col("id")))

df.show()