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_path
、python_script_path
、python_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_directory
と python_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
必須
|
[必須]ステップの名前。 |
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
|
Databricks ワークスペース上の既存の対話型クラスターのクラスター ID。 このパラメーターを渡す場合、新しいクラスターの作成に使用される次のパラメーターを渡すことはできません。
注: 新しいジョブ クラスターを作成するには、上記のパラメーターを渡す必要があります。 これらのパラメーターを直接渡すか、runconfig パラメーターを使用して RunConfiguration オブジェクトの一部として渡すことができます。 これらのパラメーターを直接渡して RunConfiguration を使用すると、エラーが発生します。 規定値: None
|
spark_version
|
Databricks の Spark のバージョンは、クラスターを実行します (例: "10.4.x-scala2.12")。
詳細については、 規定値: None
|
node_type
|
[必須]Databricks 実行クラスターの Azure VM ノードの種類 (例: "Standard_D3_v2")。
規定値: None
|
instance_pool_id
|
[必須]クラスターをアタッチする必要があるインスタンス プール ID。
規定値: None
|
num_workers
|
[必須]Databricks 実行クラスターのワーカーの静的な数。
規定値: None
|
min_workers
|
[必須]Databricks 実行クラスターの自動スケーリングに使用するワーカーの最小数。
規定値: None
|
max_workers
|
[必須]Databricks 実行クラスターの自動スケーリングに使用するワーカーの最大数。
規定値: None
|
spark_env_variables
|
Databricks の Spark 環境変数は、クラスターを実行します。
詳細については、 規定値: None
|
spark_conf
|
Databricks 実行クラスターの Spark 構成。
詳細については、 規定値: 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
|
クラスター ログを配信する DBFS パス。 規定値: None
|
notebook_path
|
[必須]Databricks インスタンス内のノートブックへのパス。 このクラスを使用すると、Databricks クラスターで実行するコードを 4 つの方法で指定できます。
規定値: None
|
notebook_params
|
ノートブックに渡すパラメーターのディクショナリ。
規定値: None
|
python_script_path
|
[必須]DBFS 内の Python スクリプトへのパス。
規定値: None
|
python_script_params
|
Python スクリプトのパラメーター。 規定値: None
|
main_class_name
|
[必須]JAR モジュール内のエントリ ポイントの名前。
規定値: None
|
jar_params
|
JAR モジュールのパラメーター。 規定値: None
|
python_script_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" さらに、スクリプト内で次のパラメーターを使用できます。
DatabricksStep パラメーター 規定値: None
|
source_directory
|
スクリプトとその他のファイルを含むフォルダー。
規定値: None
|
hash_paths
|
[str]
非推奨: 不要になりました。 ステップの内容の変更を確認するときにハッシュするパスの一覧。 変更が検出されない場合、パイプラインは前回の実行のステップの内容を再利用します。 既定では、.amlignore または .gitignore にリストされているファイルを除き、 規定値: None
|
run_name
|
この実行の Databricks 内の名前。 規定値: None
|
timeout_seconds
|
Databricks の実行のタイムアウト。 規定値: None
|
runconfig
|
使用する runconfig。 注: 規定値: 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
|
ステップの機能の変更を示すオプションのバージョン タグ。 規定値: None
|
permit_cluster_restart
|
existing_cluster_idが指定されている場合、このパラメーターはユーザーの代わりにクラスターを再起動できるかどうかを示します。 規定値: None
|
name
必須
|
[必須]ステップの名前。 |
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
必須
|
Databricks ワークスペース上の既存の対話型クラスターのクラスター ID。 このパラメーターを渡す場合、新しいクラスターの作成に使用される次のパラメーターを渡すことはできません。
注: 新しいジョブ クラスターを作成するには、上記のパラメーターを渡す必要があります。 これらのパラメーターを直接渡すか、runconfig パラメーターを使用して RunConfiguration オブジェクトの一部として渡すことができます。 これらのパラメーターを直接渡して RunConfiguration を使用すると、エラーが発生します。 |
spark_version
必須
|
Databricks の Spark のバージョンは、クラスターを実行します (例: "10.4.x-scala2.12")。
詳細については、 |
node_type
必須
|
[必須]Databricks 実行クラスターの Azure VM ノードの種類 (例: "Standard_D3_v2")。
|
instance_pool_id
必須
|
[必須]クラスターをアタッチする必要があるインスタンス プール ID。
|
num_workers
必須
|
[必須]Databricks 実行クラスターのワーカーの静的な数。
詳細については、 |
min_workers
必須
|
[必須]Databricks 実行クラスターの自動スケーリングに使用するワーカーの最小数。
詳細については、 |
max_workers
必須
|
[必須]Databricks 実行クラスターの自動スケーリングに使用するワーカーの最大数。
詳細については、 |
spark_env_variables
必須
|
Databricks の Spark 環境変数は、クラスターを実行します。
詳細については、 |
spark_conf
必須
|
Databricks 実行クラスターの Spark 構成。
詳細については、 |
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
必須
|
クラスター ログを配信する DBFS パス。 |
notebook_path
必須
|
[必須]Databricks インスタンス内のノートブックへのパス。 このクラスを使用すると、Databricks クラスターで実行するコードを 4 つの方法で指定できます。
|
notebook_params
必須
|
ノートブックに渡すパラメーターのディクショナリ。
|
python_script_path
必須
|
[必須]DBFS 内の Python スクリプトへのパス。
|
python_script_params
必須
|
Python スクリプトのパラメーター。 |
main_class_name
必須
|
[必須]JAR モジュール内のエントリ ポイントの名前。
|
jar_params
必須
|
JAR モジュールのパラメーター。 |
source_directory
必須
|
スクリプトとその他のファイルを含むフォルダー。
|
hash_paths
必須
|
[str]
非推奨: 不要になりました。 ステップの内容の変更を確認するときにハッシュするパスの一覧。 変更が検出されない場合、パイプラインは前回の実行のステップの内容を再利用します。 既定では、.amlignore または .gitignore にリストされているファイルを除き、 |
run_name
必須
|
この実行の Databricks 内の名前。 |
timeout_seconds
必須
|
Databricks の実行のタイムアウト。 |
runconfig
必須
|
使用する runconfig。 注: |
maven_libraries
必須
|
list[<xref:azureml.core.runconfig.MavenLibrary>]
Databricks の実行に使用する Maven ライブラリ。
Maven ライブラリの仕様の詳細については、 |
pypi_libraries
必須
|
list[<xref:azureml.core.runconfig.PyPiLibrary>]
Databricks の実行に使用する PyPi ライブラリ。
PyPi ライブラリの仕様の詳細については、 |
egg_libraries
必須
|
list[<xref:azureml.core.runconfig.EggLibrary>]
Databricks の実行に使用する Egg ライブラリ。
Egg ライブラリの仕様の詳細については、 |
jar_libraries
必須
|
list[<xref:azureml.core.runconfig.JarLibrary>]
Databricks の実行に使用する Jar ライブラリ。
Jar ライブラリの仕様の詳細については、 |
rcran_libraries
必須
|
list[<xref:azureml.core.runconfig.RCranLibrary>]
Databricks の実行に使用する RCran ライブラリ。
RCran ライブラリの仕様の詳細については、 |
compute_target
必須
|
[必須]Azure Databricks コンピューティング。 DatabricksStep を使用して Azure Databricks ワークスペースでスクリプトまたはノートブックを実行するには、Azure Databricks ワークスペースをコンピューティング ターゲットとして Azure Machine Learning ワークスペースに追加する必要があります。 |
allow_reuse
必須
|
同じ設定で再実行するときに、前の結果をステップで再利用するかどうかを示します。 再利用は既定で有効になっています。 ステップの内容 (スクリプト/依存関係) と入力とパラメーターが変更されていない場合は、この手順の前の実行からの出力が再利用されます。 ステップを再利用すると、ジョブをコンピューティングに送信する代わりに、前の実行の結果が後続のステップですぐに使用できるようになります。 Azure Machine Learning データセットを入力として使用する場合、再利用は、基になるデータが変更されたかどうかではなく、データセットの定義が変更されたかどうかによって決まります。 |
version
必須
|
ステップの機能の変更を示すオプションのバージョン タグ。 |
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>
グラフ コンテキスト。 |
戻り値
型 | 説明 |
---|---|
作成されたノード。 |