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

注:

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

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

注:

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

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

注:

ユーザー定義関数はシリアル化および逆シリアル化されるため、クライアントで使用される Python バージョンは、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()