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 のいずれか 1 つのみを指定します。

DataReference オブジェクトを data_reference_name=input1 の入力として指定し、PipelineData オブジェクトを name=output1 の出力として指定した場合、入力と出力はパラメーターとしてスクリプトに渡されます。 これは次のようになります。各入力と出力のパスにアクセスするには、スクリプト内の引数を解析する必要があります: "-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/" という文字列を付ける必要があります。

継承
azureml.pipeline.core._databricks_step_base._DatabricksStepBase
DatabricksStep

コンストラクター

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) 2) AzureML databricks ステップのinit_scripts行をコメントアウトして、databricks https://video2.skills-academy.com/azure/databricks/init-scripts/global でグローバル 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 のいずれか 1 つのみを指定します。

規定値: 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 のいずれか 1 つのみを指定します。

規定値: None
python_script_params

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

規定値: None
main_class_name
str

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

規定値: 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 のいずれか 1 つのみを指定します。

DataReference オブジェクトを data_reference_name=input1 の入力として指定し、PipelineData オブジェクトを name=output1 の出力として指定した場合、入力と出力はパラメーターとしてスクリプトに渡されます。 これは次のようになります。各入力と出力のパスにアクセスするには、スクリプト内の引数を解析する必要があります: "-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]

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

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

規定値: 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) 2) AzureML databricks ステップのinit_scripts行をコメントアウトして、databricks https://video2.skills-academy.com/azure/databricks/init-scripts/global でグローバル 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 のいずれか 1 つのみを指定します。

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 のいずれか 1 つのみを指定します。

python_script_params
必須

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

main_class_name
必須
str

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

jar_params
必須

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

source_directory
必須
str

スクリプトやその他のファイルを格納するフォルダー。 python_script_name が指定されている場合は、source_directory も必要です。

hash_paths
必須
[str]

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

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

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>

グラフ コンテキスト。

戻り値

説明

作成されたノード。