DataTransferStep クラス
ストレージ オプション間でデータを転送する Azure ML パイプライン ステップを作成します。
DataTransferStep は、Azure Blob Storage や Azure Data Lake などの一般的なストレージの種類をソースおよびシンクとしてサポートします。 詳細については、「注釈」セクションを参照してください。
DataTransferStep の使用例については、ノートブック https://aka.ms/pl-data-trans を参照してください。
ストレージ オプション間でデータを転送する Azure ML パイプライン ステップを作成します。
- 継承
-
azureml.pipeline.core._data_transfer_step_base._DataTransferStepBaseDataTransferStep
コンストラクター
DataTransferStep(name, source_data_reference=None, destination_data_reference=None, compute_target=None, source_reference_type=None, destination_reference_type=None, allow_reuse=True)
パラメーター
名前 | 説明 |
---|---|
name
必須
|
[必須] ステップの名前。 |
source_data_reference
|
[必須] データ転送操作のソースとして機能する入力接続。 規定値: None
|
destination_data_reference
|
[必須] データ転送操作の転送先として機能する出力接続。 規定値: None
|
compute_target
|
[必須] データの転送に使用する Azure Data Factory。 規定値: None
|
source_reference_type
|
規定値: None
|
destination_reference_type
|
規定値: None
|
allow_reuse
|
同じ設定で再実行されたときに、ステップで前の結果を再利用するかどうかを示します。 再利用は既定で有効になっています。 ステップ引数が変更されていない場合は、このステップの前の実行からの出力が再利用されます。 ステップを再利用する場合は、データを再度転送するのではなく、直前の実行の結果を後続のステップですぐに利用できるようになります。 Azure Machine Learning データセットを入力として使用する場合、再利用は、基になるデータが変更されたかどうかではなく、データセットの定義が変更されたかどうかによって決まります。 規定値: True
|
name
必須
|
[必須] ステップの名前。 |
source_data_reference
必須
|
[必須] データ転送操作のソースとして機能する入力接続。 |
destination_data_reference
必須
|
[必須] データ転送操作の転送先として機能する出力接続。 |
compute_target
必須
|
[必須] データの転送に使用する Azure Data Factory。 |
source_reference_type
必須
|
|
destination_reference_type
必須
|
|
allow_reuse
必須
|
同じ設定で再実行されたときに、ステップで前の結果を再利用するかどうかを示します。 再利用は既定で有効になっています。 ステップ引数が変更されていない場合は、このステップの前の実行からの出力が再利用されます。 ステップを再利用する場合は、データを再度転送するのではなく、直前の実行の結果を後続のステップですぐに利用できるようになります。 Azure Machine Learning データセットを入力として使用する場合、再利用は、基になるデータが変更されたかどうかではなく、データセットの定義が変更されたかどうかによって決まります。 |
注釈
このステップでは特に明記されている場合を除き、以下のストレージ タイプがソースおよびシンクとしてサポートされています。
Azure Blob Storage
Azure Data Lake Storage Gen1 と Gen2
Azure SQL データベース
Azure Database for PostgreSQL
Azure Database for MySQL
Azure SQL Database の場合は、サービス プリンシパルの認証を使用する必要があります。 詳細については、「サービス プリンシパルの認証」を参照してください。 Azure SQL Database でサービス プリンシパルの認証を使用する例については、https://aka.ms/pl-data-trans を参照してください。
ステップ間のデータ依存関係を確立するには、get_output メソッドを使用して、このデータ転送ステップの出力を表し、パイプラインの以降のステップの入力として使用できる PipelineData オブジェクトを取得します。
data_transfer_step = DataTransferStep(name="copy data", ...)
# Use output of data_transfer_step as input of another step in pipeline
# This will make training_step wait for data_transfer_step to complete
training_input = data_transfer_step.get_output()
training_step = PythonScriptStep(script_name="train.py",
arguments=["--model", training_input],
inputs=[training_input],
compute_target=aml_compute,
source_directory=source_directory)
特定の名前の InputPortBinding を作成するには、get_output() の出力に as_input の出力や PipelineData の as_mount メソッドを組み合わせます。
data_transfer_step = DataTransferStep(name="copy data", ...)
training_input = data_transfer_step.get_output().as_input("my_input_name")
メソッド
create_node |
DataTransfer ステップからノードを作成し、指定されたグラフに追加します。 このメソッドは直接使用するためのものではありません。 このステップでパイプラインがインスタンス化されると、Azure ML は、ワークフローを表すパイプライン グラフにステップを追加できるように、このメソッドで必要なパラメーターを自動的に渡します。 |
get_output |
ステップの出力を PipelineData として取得します。 |
create_node
DataTransfer ステップからノードを作成し、指定されたグラフに追加します。
このメソッドは直接使用するためのものではありません。 このステップでパイプラインがインスタンス化されると、Azure ML は、ワークフローを表すパイプライン グラフにステップを追加できるように、このメソッドで必要なパラメーターを自動的に渡します。
create_node(graph, default_datastore, context)
パラメーター
名前 | 説明 |
---|---|
graph
必須
|
ノードを追加するグラフ オブジェクト。 |
default_datastore
必須
|
既定のデータストア。 |
context
必須
|
<xref:azureml.pipeline.core._GraphContext>
グラフ コンテキスト。 |
戻り値
型 | 説明 |
---|---|
作成されたノード。 |
get_output
ステップの出力を PipelineData として取得します。
get_output()
戻り値
型 | 説明 |
---|---|
ステップの出力。 |
注釈
ステップ間のデータ依存関係を確立するには、get_output メソッドを使用して、このデータ転送ステップの出力を表し、パイプラインの以降のステップの入力として使用できる PipelineData オブジェクトを取得します。
data_transfer_step = DataTransferStep(name="copy data", ...)
# Use output of data_transfer_step as input of another step in pipeline
# This will make training_step wait for data_transfer_step to complete
training_input = data_transfer_step.get_output()
training_step = PythonScriptStep(script_name="train.py",
arguments=["--model", training_input],
inputs=[training_input],
compute_target=aml_compute,
source_directory=source_directory)
特定の名前の InputPortBinding を作成するには、get_output() 呼び出しを as_input または as_mount ヘルパー メソッドと組み合わせます。
data_transfer_step = DataTransferStep(name="copy data", ...)
training_input = data_transfer_step.get_output().as_input("my_input_name")