次の方法で共有


Databricks Connect for Python のユーザー定義関数

Note

この記事では、Databricks Runtime 13.1 以降用の Databricks Connect について説明します。

この記事では、Databricks Connect for Python で UDF を実行する方法について説明します。 Databricks Connect を使用すると、一般的な IDE、ノートブック サーバー、カスタム アプリケーションを Azure Databricks クラスターに接続できます。 この記事の Scala バージョンについては、「Databricks Connect for Scala のユーザー定義関数」を参照してください。

Note

Databricks Connect の使用を開始する前に、Databricks Connect クライアントを設定必要があります。

Databricks Connect for Python では、ユーザー定義関数 (UDF) がサポートされます。 UDF を含むデータフレーム操作が実行されると、関連する UDF は Databricks Connect によってシリアル化され、要求の一部としてサーバーに送信されます。

Note

ユーザー定義関数はシリアル化および逆シリアル化されるため、クライアントで使用される Python バージョンは、Azure Databricks クラスター上の Python バージョンと一致する必要があります。 クラスターの Python バージョンを確認するには、「Databricks Runtime リリース ノートのバージョンと互換性」のクラスターの Databricks Runtime バージョンの「システム環境」セクションを参照してください。

次の Python プログラムは、列の値を 2 乗するシンプルな 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()