Azure Databricks で Python アクティビティを実行してデータを変換するTransform data by running a Python activity in Azure Databricks

Data Factory パイプライン の Azure Databricks Python アクティビティは、Azure Databricks クラスターで Python ファイルを実行します。The Azure Databricks Python Activity in a Data Factory pipeline runs a Python file in your Azure Databricks cluster. この記事は、データ変換の概要とサポートされる変換アクティビティを説明している データ変換アクティビティ に関する記事に基づいています。This article builds on the data transformation activities article, which presents a general overview of data transformation and the supported transformation activities. Azure Databricks は、Apache Spark を実行するための管理されたプラットフォームです。 Azure Databricks is a managed platform for running Apache Spark.

この機能の概要とデモンストレーションについては、以下の 11 分間の動画を視聴してください。For an eleven-minute introduction and demonstration of this feature, watch the following video:

Databricks Python アクティビティの定義Databricks Python activity definition

Databricks Python アクティビティのサンプルの JSON 定義を次に示します。Here is the sample JSON definition of a Databricks Python Activity:

{
    "activity": {
        "name": "MyActivity",
        "description": "MyActivity description",
        "type": "DatabricksSparkPython",
        "linkedServiceName": {
            "referenceName": "MyDatabricksLinkedservice",
            "type": "LinkedServiceReference"
        },
        "typeProperties": {
            "pythonFile": "dbfs:/docs/pi.py",
            "parameters": [
                "10"
            ],
            "libraries": [
                {
                    "pypi": {
                        "package": "tensorflow"
                    }
                }
            ]
        }
    }
}

Databricks Python アクティビティのプロパティDatabricks Python activity properties

次の表で、JSON 定義で使用される JSON プロパティについて説明します。The following table describes the JSON properties used in the JSON definition:

プロパティProperty 説明Description 必須Required
名前name パイプラインのアクティビティの名前。Name of the activity in the pipeline. はいYes
descriptiondescription アクティビティの動作を説明するテキスト。Text describing what the activity does. いいえNo
typetype Databricks Python アクティビティでは、アクティビティの種類は DatabricksSparkPython です。For Databricks Python Activity, the activity type is DatabricksSparkPython. はいYes
linkedServiceNamelinkedServiceName Python アクティビティが実行されている Databricks リンク サービスの名前です。Name of the Databricks Linked Service on which the Python activity runs. このリンクされたサービスの詳細については、 コンピューティングのリンクされたサービス に関する記事をご覧ください。To learn about this linked service, see Compute linked services article. はいYes
pythonFilepythonFile 実行される Python ファイルの URI。The URI of the Python file to be executed. DBFS パスのみがサポートされています。Only DBFS paths are supported. はいYes
parametersparameters Python ファイルに渡されるコマンド ライン パラメーター。Command line parameters that will be passed to the Python file. 文字列の配列です。This is an array of strings. いいえNo
librarieslibraries ジョブを実行するクラスターにインストールされるライブラリのリスト。A list of libraries to be installed on the cluster that will execute the job. <文字列, オブジェクト> の配列を指定できます。It can be an array of <string, object> いいえNo

databricks アクティビティでサポートされるライブラリSupported libraries for databricks activities

前述の Databricks アクティビティ定義では、jareggmavenpypicran というライブラリの種類を指定しています。In the above Databricks activity definition you specify these library types: jar, egg, maven, pypi, cran.

{
    "libraries": [
        {
            "jar": "dbfs:/mnt/libraries/library.jar"
        },
        {
            "egg": "dbfs:/mnt/libraries/library.egg"
        },
        {
            "maven": {
                "coordinates": "org.jsoup:jsoup:1.7.2",
                "exclusions": [ "slf4j:slf4j" ]
            }
        },
        {
            "pypi": {
                "package": "simplejson",
                "repo": "http://my-pypi-mirror.com"
            }
        },
        {
            "cran": {
                "package": "ada",
                "repo": "https://cran.us.r-project.org"
            }
        }
    ]
}

ライブラリの種類の詳細については、Databricks のドキュメントを参照してください。For more details refer Databricks documentation for library types.

Databricks でライブラリをアップロードする方法How to upload a library in Databricks

Databricks ワークスペース UI の使用Using Databricks workspace UI

UI を使用して追加されたライブラリの dbfs パスを取得するには、Databricks CLI (インストール) を使用します。To obtain the dbfs path of the library added using UI, you can use Databricks CLI (installation).

UI を使用する場合、通常、Jar ライブラリは dbfs:/FileStore/jars に保存されます。Typically the Jar libraries are stored under dbfs:/FileStore/jars while using the UI. CLI databricks fs ls dbfs:/FileStore/jars を使用してすべてを一覧表示することができます。You can list all through the CLI: databricks fs ls dbfs:/FileStore/jars

Databricks CLI を使用したライブラリのコピーCopy library using Databricks CLI

例: databricks fs cp SparkPi-assembly-0.1.jar dbfs:/FileStore/jarsExample: databricks fs cp SparkPi-assembly-0.1.jar dbfs:/FileStore/jars