DataTransferStep クラス
ストレージ オプション間でデータを転送する Azure ML パイプライン ステップを作成します。
DataTransferStep では、ソースとシンクとして Azure Blob Storage や Azure Data Lake などの一般的なストレージの種類がサポートされています。 詳細については、「解説」セクション を 参照してください。
DataTransferStep の使用例については、ノートブックの https://aka.ms/pl-data-transを参照してください。
ストレージ オプション間でデータを転送する Azure ML パイプライン ステップを作成します。
コンストラクター
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 データベース
PostgreSQL 用 Azure データベース
Azure 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の出力またはas_mountのPipelineDataメソッドの出力と組み合わせることができます。
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")