适用于 Python 的 Databricks Connect 中的用户定义的函数

注意

本文介绍适用于 Databricks Runtime 13.1 及更高版本的 Databricks Connect。

本文介绍如何使用适用于 Python 的 Databricks Connect 执行 UDF。 Databricks Connect 使你能够将常用 IDE、笔记本服务器和自定义应用程序连接到 Azure Databricks 群集。 有关本文的 Scala 版本,请参阅适用于 Scala 的 Databricks Connect 中的用户定义的函数

注意

在开始使用 Databricks Connect 之前,必须先设置 Databricks Connect 客户端

Databricks Connect for Python 支持用户定义函数 (UDF)。 当执行包含 UDF 的数据帧操作时,涉及的 UDF 由 Databricks Connect 序列化并作为请求的一部分发送到服务器。

注意

由于用户定义的函数已序列化和反序列化,客户端使用的 Python 版本必须与 Azure Databricks 群集上的 Python 版本匹配。 要查看群集的 Python 版本,请参阅 Databricks Runtime 发行说明版本和兼容性中的“系统环境”部分,以了解群集的 Databricks Runtime 版本。

以下 Python 程序会设置一个简单的 UDF,用于在列中计算值的平方。

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()