次の方法で共有


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

手記

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

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

手記

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

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

手記

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

次の Python プログラムは、columnで values を正方形にする単純な 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()