次の方法で共有


DatabricksStep クラス

DataBricks ノートブック、Python スクリプト、または JAR をノードとして追加する Azure ML パイプライン ステップを作成します。

DatabricksStep の使用例については、ノートブックの https://aka.ms/pl-databricksを参照してください。

DataBricks ノートブック、Python スクリプト、または JAR をノードとして追加する Azure ML パイプライン ステップを作成します。

DatabricksStep の使用例については、ノートブックの https://aka.ms/pl-databricksを参照してください。

:p aram python_script_name:[必須] source_directoryを基準とした Python スクリプトの名前。 スクリプトが入力と出力を受け取る場合、それらはパラメーターとしてスクリプトに渡されます。 python_script_nameを指定する場合は、source_directoryも指定する必要があります。

notebook_pathpython_script_pathpython_script_name、またはmain_class_nameのいずれかを指定します。

data_reference_name=input1 の入力として DataReference オブジェクトを指定し、name=output1 の出力として PipelineData オブジェクトを指定した場合、入力と出力はパラメーターとしてスクリプトに渡されます。 次のように表示され、スクリプト内の引数を解析して、各入力と出力のパスにアクセスする必要があります。 "-input1"、"wasbs://test@storagename.blob.core.windows.net/test"、"-output1"、"wasbs://test@storagename.blob.core.windows.net/b3e26de1-87a4-494d-a20f-1988d22b81a2/output1"

さらに、スクリプト内で次のパラメーターを使用できます。

  • AZUREML_RUN_TOKEN: Azure Machine Learning で認証するための AML トークン。
  • AZUREML_RUN_TOKEN_EXPIRY: AML トークンの有効期限。
  • AZUREML_RUN_ID: この実行の Azure Machine Learning 実行 ID。
  • AZUREML_ARM_SUBSCRIPTION: AML ワークスペースの Azure サブスクリプション。
  • AZUREML_ARM_RESOURCEGROUP: Azure Machine Learning ワークスペースの Azure リソース グループ。
  • AZUREML_ARM_WORKSPACE_NAME: Azure Machine Learning ワークスペースの名前。
  • AZUREML_ARM_PROJECT_NAME: Azure Machine Learning 実験の名前。
  • AZUREML_SERVICE_ENDPOINT: AML サービスのエンドポイント URL。
  • AZUREML_WORKSPACE_ID: Azure Machine Learning ワークスペースの ID。
  • AZUREML_EXPERIMENT_ID: Azure Machine Learning 実験の ID。
  • AZUREML_SCRIPT_DIRECTORY_NAME: source_directoryがコピーされた DBFS のディレクトリ パス。
  (This parameter is only populated when `python_script_name` is used.  See more details below.)

DatabricksStep パラメーター source_directorypython_script_nameを使用して Databricks 上のローカル コンピューターから Python スクリプトを実行する場合、source_directoryは DBFS にコピーされ、DBFS のディレクトリ パスは実行を開始するときにパラメーターとしてスクリプトに渡されます。 このパラメーターには 、-AZUREML_SCRIPT_DIRECTORY_NAME というラベルが付けられます。 DBFS 内のディレクトリにアクセスするには、文字列 "dbfs:/" または "/dbfs/" のプレフィックスを付ける必要があります。

コンストラクター

DatabricksStep(name, inputs=None, outputs=None, existing_cluster_id=None, spark_version=None, node_type=None, instance_pool_id=None, num_workers=None, min_workers=None, max_workers=None, spark_env_variables=None, spark_conf=None, init_scripts=None, cluster_log_dbfs_path=None, notebook_path=None, notebook_params=None, python_script_path=None, python_script_params=None, main_class_name=None, jar_params=None, python_script_name=None, source_directory=None, hash_paths=None, run_name=None, timeout_seconds=None, runconfig=None, maven_libraries=None, pypi_libraries=None, egg_libraries=None, jar_libraries=None, rcran_libraries=None, compute_target=None, allow_reuse=True, version=None, permit_cluster_restart=None)

パラメーター

名前 説明
name
必須
str

[必須]ステップの名前。

inputs

この手順で使用されるデータの入力接続の一覧。 dbutils.widgets.get("input_name") を使用して、ノートブック内でこれをフェッチします。 DataReference または PipelineData を指定できます。 DataReference は、データストア上の既存のデータを表します。 基本的に、これはデータストア上のパスです。 DatabricksStep では、DBFS、Azure BLOB、または ADLS v1 をカプセル化するデータストアがサポートされています。 PipelineData は、パイプライン内の別のステップによって生成される中間データを表します。

規定値: None
outputs

この手順で生成される出力の出力ポート定義の一覧。 dbutils.widgets.get("output_name") を使用して、ノートブック内でこれをフェッチします。 PipelineData にする必要があります。

規定値: None
existing_cluster_id
str

Databricks ワークスペース上の既存の対話型クラスターのクラスター ID。 このパラメーターを渡す場合、新しいクラスターの作成に使用される次のパラメーターを渡すことはできません。

  • spark_version
  • node_type
  • instance_pool_id
  • num_workers
  • min_workers
  • max_workers
  • spark_env_variables
  • spark_conf

注: 新しいジョブ クラスターを作成するには、上記のパラメーターを渡す必要があります。 これらのパラメーターを直接渡すか、runconfig パラメーターを使用して RunConfiguration オブジェクトの一部として渡すことができます。 これらのパラメーターを直接渡して RunConfiguration を使用すると、エラーが発生します。

規定値: None
spark_version
str

Databricks の Spark のバージョンは、クラスターを実行します (例: "10.4.x-scala2.12")。 詳細については、 existing_cluster_id パラメーターの説明を参照してください。

規定値: None
node_type
str

[必須]Databricks 実行クラスターの Azure VM ノードの種類 (例: "Standard_D3_v2")。 node_type または instance_pool_id を指定します。 詳細については、 existing_cluster_id パラメーターの説明を参照してください。

規定値: None
instance_pool_id
str

[必須]クラスターをアタッチする必要があるインスタンス プール ID。 node_type または instance_pool_id を指定します。 詳細については、 existing_cluster_id パラメーターの説明を参照してください。

規定値: None
num_workers
int

[必須]Databricks 実行クラスターのワーカーの静的な数。 num_workersまたはmin_workersmax_workersの両方を指定する必要があります。 詳細については、 existing_cluster_id パラメーターの説明を参照してください。

規定値: None
min_workers
int

[必須]Databricks 実行クラスターの自動スケーリングに使用するワーカーの最小数。 num_workersまたはmin_workersmax_workersの両方を指定する必要があります。 詳細については、 existing_cluster_id パラメーターの説明を参照してください。

規定値: None
max_workers
int

[必須]Databricks 実行クラスターの自動スケーリングに使用するワーカーの最大数。 num_workersまたはmin_workersmax_workersの両方を指定する必要があります。 詳細については、 existing_cluster_id パラメーターの説明を参照してください。

規定値: None
spark_env_variables

Databricks の Spark 環境変数は、クラスターを実行します。 詳細については、 existing_cluster_id パラメーターの説明を参照してください。

規定値: None
spark_conf

Databricks 実行クラスターの Spark 構成。 詳細については、 existing_cluster_id パラメーターの説明を参照してください。

規定値: None
init_scripts
[str]

非推奨になりました。 Databricks は、DBFS に格納されている init スクリプトが 2023 年 12 月 1 日以降に動作を停止すると発表しました。 この問題を軽減するには、1) https://learn.microsoft.com/azure/databricks/init-scripts/global 2) AzureML databricks ステップでinit_scripts行をコメントアウトした後、databricks でグローバル init スクリプトを使用してください。

規定値: None
cluster_log_dbfs_path
str

クラスター ログを配信する DBFS パス。

規定値: None
notebook_path
str

[必須]Databricks インスタンス内のノートブックへのパス。 このクラスを使用すると、Databricks クラスターで実行するコードを 4 つの方法で指定できます。

  1. Databricks ワークスペースに存在するノートブックを実行するには、notebook_path=notebook_path、notebook_params={'myparam': 'testparam'} を使用します。

  2. DBFS に存在する Python スクリプトを実行するには、python_script_path=python_script_dbfs_path、python_script_params={'arg1'、'arg2'} を使用します。

  3. DBFS に存在する JAR を実行するには、main_class_name=main_jar_class_name、jar_params={'arg1'、'arg2'}、jar_libraries=[JarLibrary(jar_library_dbfs_path)] を使用します。

  4. ローカル コンピューターに存在する Python スクリプトを実行するには、python_script_name=python_script_name、source_directory=source_directory を使用します。

notebook_pathpython_script_pathpython_script_name、またはmain_class_nameのいずれかを指定します。

規定値: None
notebook_params

ノートブックに渡すパラメーターのディクショナリ。 notebook_params はウィジェットとして使用できます。 dbutils.widgets.get("myparam") を使用して、ノートブック内のこれらのウィジェットから値をフェッチできます。

規定値: None
python_script_path
str

[必須]DBFS 内の Python スクリプトへのパス。 notebook_pathpython_script_pathpython_script_name、またはmain_class_nameのいずれかを指定します。

規定値: None
python_script_params

Python スクリプトのパラメーター。

規定値: None
main_class_name
str

[必須]JAR モジュール内のエントリ ポイントの名前。 notebook_pathpython_script_pathpython_script_name、またはmain_class_nameのいずれかを指定します。

規定値: None
jar_params

JAR モジュールのパラメーター。

規定値: None
python_script_name
str

[必須] source_directoryを基準とした Python スクリプトの名前。 スクリプトが入力と出力を受け取る場合、それらはパラメーターとしてスクリプトに渡されます。 python_script_nameを指定する場合は、source_directoryも指定する必要があります。

notebook_pathpython_script_pathpython_script_name、またはmain_class_nameのいずれかを指定します。

data_reference_name=input1 の入力として DataReference オブジェクトを指定し、name=output1 の出力として PipelineData オブジェクトを指定した場合、入力と出力はパラメーターとしてスクリプトに渡されます。 次のように表示され、スクリプト内の引数を解析して、各入力と出力のパスにアクセスする必要があります。 "-input1"、"wasbs://test@storagename.blob.core.windows.net/test"、"-output1"、"wasbs://test@storagename.blob.core.windows.net/b3e26de1-87a4-494d-a20f-1988d22b81a2/output1"

さらに、スクリプト内で次のパラメーターを使用できます。

  • AZUREML_RUN_TOKEN: Azure Machine Learning で認証するための AML トークン。
  • AZUREML_RUN_TOKEN_EXPIRY: AML トークンの有効期限。
  • AZUREML_RUN_ID: この実行の Azure Machine Learning 実行 ID。
  • AZUREML_ARM_SUBSCRIPTION: AML ワークスペースの Azure サブスクリプション。
  • AZUREML_ARM_RESOURCEGROUP: Azure Machine Learning ワークスペースの Azure リソース グループ。
  • AZUREML_ARM_WORKSPACE_NAME: Azure Machine Learning ワークスペースの名前。
  • AZUREML_ARM_PROJECT_NAME: Azure Machine Learning 実験の名前。
  • AZUREML_SERVICE_ENDPOINT: AML サービスのエンドポイント URL。
  • AZUREML_WORKSPACE_ID: Azure Machine Learning ワークスペースの ID。
  • AZUREML_EXPERIMENT_ID: Azure Machine Learning 実験の ID。
  • AZUREML_SCRIPT_DIRECTORY_NAME: source_directoryがコピーされた DBFS のディレクトリ パス。 (このパラメーターは、 python_script_name が使用されている場合にのみ設定されます。詳細については、以下を参照してください)。)

DatabricksStep パラメーター source_directorypython_script_nameを使用して Databricks 上のローカル コンピューターから Python スクリプトを実行する場合、source_directoryは DBFS にコピーされ、DBFS のディレクトリ パスは実行を開始するときにパラメーターとしてスクリプトに渡されます。 このパラメーターには 、-AZUREML_SCRIPT_DIRECTORY_NAME というラベルが付けられます。 DBFS 内のディレクトリにアクセスするには、文字列 "dbfs:/" または "/dbfs/" のプレフィックスを付ける必要があります。

規定値: None
source_directory
str

スクリプトとその他のファイルを含むフォルダー。 python_script_nameを指定する場合は、source_directoryも指定する必要があります。

規定値: None
hash_paths
[str]

非推奨: 不要になりました。

ステップの内容の変更を確認するときにハッシュするパスの一覧。 変更が検出されない場合、パイプラインは前回の実行のステップの内容を再利用します。 既定では、.amlignore または .gitignore にリストされているファイルを除き、 source_directory の内容はハッシュされます。

規定値: None
run_name
str

この実行の Databricks 内の名前。

規定値: None
timeout_seconds
int

Databricks の実行のタイムアウト。

規定値: None
runconfig

使用する runconfig。

注: maven_librariespypi_librariesegg_librariesjar_libraries、または rcran_librariesの各パラメーターを使用して、必要な数のライブラリをジョブに渡すことができます。 これらのパラメーターは、対応するパラメーターで直接渡すか、 runconfig パラメーターを使用して RunConfiguration オブジェクトの一部として渡しますが、両方を渡す必要はありません。

規定値: None
maven_libraries

Databricks の実行に使用する Maven ライブラリ。

規定値: None
pypi_libraries

Databricks の実行に使用する PyPi ライブラリ。

規定値: None
egg_libraries

Databricks の実行に使用する Egg ライブラリ。

規定値: None
jar_libraries

Databricks の実行に使用する Jar ライブラリ。

規定値: None
rcran_libraries

Databricks の実行に使用する RCran ライブラリ。

規定値: None
compute_target

[必須]Azure Databricks コンピューティング。 DatabricksStep を使用して Azure Databricks ワークスペースでスクリプトまたはノートブックを実行するには、Azure Databricks ワークスペースをコンピューティング ターゲットとして Azure Machine Learning ワークスペースに追加する必要があります。

規定値: None
allow_reuse

同じ設定で再実行するときに、前の結果をステップで再利用するかどうかを示します。 再利用は既定で有効になっています。 ステップの内容 (スクリプト/依存関係) と入力とパラメーターが変更されていない場合は、この手順の前の実行からの出力が再利用されます。 ステップを再利用すると、ジョブをコンピューティングに送信する代わりに、前の実行の結果が後続のステップですぐに使用できるようになります。 Azure Machine Learning データセットを入力として使用する場合、再利用は、基になるデータが変更されたかどうかではなく、データセットの定義が変更されたかどうかによって決まります。

規定値: True
version
str

ステップの機能の変更を示すオプションのバージョン タグ。

規定値: None
permit_cluster_restart

existing_cluster_idが指定されている場合、このパラメーターはユーザーの代わりにクラスターを再起動できるかどうかを示します。

規定値: None
name
必須
str

[必須]ステップの名前。

inputs
必須

この手順で使用されるデータの入力接続の一覧。 dbutils.widgets.get("input_name") を使用して、ノートブック内でこれをフェッチします。 DataReference または PipelineData を指定できます。 DataReference は、データストア上の既存のデータを表します。 基本的に、これはデータストア上のパスです。 DatabricksStep では、DBFS、Azure BLOB、または ADLS v1 をカプセル化するデータストアがサポートされています。 PipelineData は、パイプライン内の別のステップによって生成される中間データを表します。

outputs
必須
list[Union[OutputPortBinding, <xref:azureml.pipeline.core.pipeline_output_dataset.PipelineOutputDataset>, PipelineData]]

この手順で生成される出力の出力ポート定義の一覧。 dbutils.widgets.get("output_name") を使用して、ノートブック内でこれをフェッチします。 PipelineData にする必要があります。

existing_cluster_id
必須
str

Databricks ワークスペース上の既存の対話型クラスターのクラスター ID。 このパラメーターを渡す場合、新しいクラスターの作成に使用される次のパラメーターを渡すことはできません。

  • spark_version
  • node_type
  • instance_pool_id
  • num_workers
  • min_workers
  • max_workers
  • spark_env_variables
  • spark_conf

注: 新しいジョブ クラスターを作成するには、上記のパラメーターを渡す必要があります。 これらのパラメーターを直接渡すか、runconfig パラメーターを使用して RunConfiguration オブジェクトの一部として渡すことができます。 これらのパラメーターを直接渡して RunConfiguration を使用すると、エラーが発生します。

spark_version
必須
str

Databricks の Spark のバージョンは、クラスターを実行します (例: "10.4.x-scala2.12")。 詳細については、 existing_cluster_id パラメーターの説明を参照してください。

node_type
必須
str

[必須]Databricks 実行クラスターの Azure VM ノードの種類 (例: "Standard_D3_v2")。 node_type または instance_pool_id を指定します。 詳細については、 existing_cluster_id パラメーターの説明を参照してください。

instance_pool_id
必須
str

[必須]クラスターをアタッチする必要があるインスタンス プール ID。 node_type または instance_pool_id を指定します。 詳細については、 existing_cluster_id パラメーターの説明を参照してください。

num_workers
必須
int

[必須]Databricks 実行クラスターのワーカーの静的な数。 num_workersまたはmin_workersmax_workersの両方を指定する必要があります。

詳細については、 existing_cluster_id パラメーターの説明を参照してください。

min_workers
必須
int

[必須]Databricks 実行クラスターの自動スケーリングに使用するワーカーの最小数。 num_workersまたはmin_workersmax_workersの両方を指定する必要があります。

詳細については、 existing_cluster_id パラメーターの説明を参照してください。

max_workers
必須
int

[必須]Databricks 実行クラスターの自動スケーリングに使用するワーカーの最大数。 num_workersまたはmin_workersmax_workersの両方を指定する必要があります。

詳細については、 existing_cluster_id パラメーターの説明を参照してください。

spark_env_variables
必須

Databricks の Spark 環境変数は、クラスターを実行します。 詳細については、 existing_cluster_id パラメーターの説明を参照してください。

spark_conf
必須

Databricks 実行クラスターの Spark 構成。 詳細については、 existing_cluster_id パラメーターの説明を参照してください。

init_scripts
必須
[str]

非推奨になりました。 Databricks は、DBFS に格納されている init スクリプトが 2023 年 12 月 1 日以降に動作を停止すると発表しました。 この問題を軽減するには、1) https://learn.microsoft.com/azure/databricks/init-scripts/global 2) AzureML databricks ステップでinit_scripts行をコメントアウトした後、databricks でグローバル init スクリプトを使用してください。

cluster_log_dbfs_path
必須
str

クラスター ログを配信する DBFS パス。

notebook_path
必須
str

[必須]Databricks インスタンス内のノートブックへのパス。 このクラスを使用すると、Databricks クラスターで実行するコードを 4 つの方法で指定できます。

  1. Databricks ワークスペースに存在するノートブックを実行するには、notebook_path=notebook_path、notebook_params={'myparam': 'testparam'} を使用します。

  2. DBFS に存在する Python スクリプトを実行するには、python_script_path=python_script_dbfs_path、python_script_params={'arg1'、'arg2'} を使用します。

  3. DBFS に存在する JAR を実行するには、main_class_name=main_jar_class_name、jar_params={'arg1'、'arg2'}、jar_libraries=[JarLibrary(jar_library_dbfs_path)] を使用します。

  4. ローカル コンピューターに存在する Python スクリプトを実行するには、python_script_name=python_script_name、source_directory=source_directory を使用します。

notebook_pathpython_script_pathpython_script_name、またはmain_class_nameのいずれかを指定します。

notebook_params
必須
dict[str, (str または PipelineParameter)]

ノートブックに渡すパラメーターのディクショナリ。 notebook_params はウィジェットとして使用できます。 dbutils.widgets.get("myparam") を使用して、ノートブック内のこれらのウィジェットから値をフェッチできます。

python_script_path
必須
str

[必須]DBFS 内の Python スクリプトへのパス。 notebook_pathpython_script_pathpython_script_name、またはmain_class_nameのいずれかを指定します。

python_script_params
必須

Python スクリプトのパラメーター。

main_class_name
必須
str

[必須]JAR モジュール内のエントリ ポイントの名前。 notebook_pathpython_script_pathpython_script_name、またはmain_class_nameのいずれかを指定します。

jar_params
必須

JAR モジュールのパラメーター。

source_directory
必須
str

スクリプトとその他のファイルを含むフォルダー。 python_script_nameを指定する場合は、source_directoryも指定する必要があります。

hash_paths
必須
[str]

非推奨: 不要になりました。

ステップの内容の変更を確認するときにハッシュするパスの一覧。 変更が検出されない場合、パイプラインは前回の実行のステップの内容を再利用します。 既定では、.amlignore または .gitignore にリストされているファイルを除き、 source_directory の内容はハッシュされます。

run_name
必須
str

この実行の Databricks 内の名前。

timeout_seconds
必須
int

Databricks の実行のタイムアウト。

runconfig
必須

使用する runconfig。

注: maven_librariespypi_librariesegg_librariesjar_libraries、または rcran_librariesの各パラメーターを使用して、必要な数のライブラリをジョブに渡すことができます。 これらのパラメーターは、対応するパラメーターで直接渡すか、 runconfig パラメーターを使用して RunConfiguration オブジェクトの一部として渡しますが、両方を渡す必要はありません。

maven_libraries
必須
list[<xref:azureml.core.runconfig.MavenLibrary>]

Databricks の実行に使用する Maven ライブラリ。 Maven ライブラリの仕様の詳細については、 help(azureml.core.runconfig.MavenLibrary)を参照してください。

pypi_libraries
必須
list[<xref:azureml.core.runconfig.PyPiLibrary>]

Databricks の実行に使用する PyPi ライブラリ。 PyPi ライブラリの仕様の詳細については、 help(azureml.core.runconfig.PyPiLibrary)を参照してください。

egg_libraries
必須
list[<xref:azureml.core.runconfig.EggLibrary>]

Databricks の実行に使用する Egg ライブラリ。 Egg ライブラリの仕様の詳細については、 help(azureml.core.runconfig.EggLibrary)を参照してください。

jar_libraries
必須
list[<xref:azureml.core.runconfig.JarLibrary>]

Databricks の実行に使用する Jar ライブラリ。 Jar ライブラリの仕様の詳細については、 help(azureml.core.runconfig.JarLibrary)を参照してください。

rcran_libraries
必須
list[<xref:azureml.core.runconfig.RCranLibrary>]

Databricks の実行に使用する RCran ライブラリ。 RCran ライブラリの仕様の詳細については、 help(azureml.core.runconfig.RCranLibrary)を参照してください。

compute_target
必須

[必須]Azure Databricks コンピューティング。 DatabricksStep を使用して Azure Databricks ワークスペースでスクリプトまたはノートブックを実行するには、Azure Databricks ワークスペースをコンピューティング ターゲットとして Azure Machine Learning ワークスペースに追加する必要があります。

allow_reuse
必須

同じ設定で再実行するときに、前の結果をステップで再利用するかどうかを示します。 再利用は既定で有効になっています。 ステップの内容 (スクリプト/依存関係) と入力とパラメーターが変更されていない場合は、この手順の前の実行からの出力が再利用されます。 ステップを再利用すると、ジョブをコンピューティングに送信する代わりに、前の実行の結果が後続のステップですぐに使用できるようになります。 Azure Machine Learning データセットを入力として使用する場合、再利用は、基になるデータが変更されたかどうかではなく、データセットの定義が変更されたかどうかによって決まります。

version
必須
str

ステップの機能の変更を示すオプションのバージョン タグ。

permit_cluster_restart
必須

existing_cluster_idが指定されている場合、このパラメーターはユーザーの代わりにクラスターを再起動できるかどうかを示します。

メソッド

create_node

Databricks ステップからノードを作成し、指定したグラフに追加します。

このメソッドは、直接使用するためのものではありません。 この手順でパイプラインがインスタンス化されると、Azure ML は、このメソッドに必要なパラメーターを自動的に渡して、そのステップをワークフローを表すパイプライン グラフに追加できるようにします。

create_node

Databricks ステップからノードを作成し、指定したグラフに追加します。

このメソッドは、直接使用するためのものではありません。 この手順でパイプラインがインスタンス化されると、Azure ML は、このメソッドに必要なパラメーターを自動的に渡して、そのステップをワークフローを表すパイプライン グラフに追加できるようにします。

create_node(graph, default_datastore, context)

パラメーター

名前 説明
graph
必須

ノードを追加するグラフ オブジェクト。

default_datastore
必須

既定のデータストア。

context
必須
<xref:azureml.pipeline.core._GraphContext>

グラフ コンテキスト。

戻り値

説明

作成されたノード。