Bagikan melalui


DataTransferStep Kelas

Buat langkah Alur Azure Machine Learning yang mentransfer data di antara opsi penyimpanan.

DataTransferStep mendukung jenis penyimpanan umum seperti Azure Blob Storage dan Azure Data Lake sebagai sumber dan sink. Untuk informasi selengkapnya, lihat bagian Keterangan.

Untuk contoh menggunakan DataTransferStep, lihat notebook https://aka.ms/pl-data-trans.

Buat langkah Alur Azure ML yang mentransfer data antar opsi penyimpanan.

Warisan
azureml.pipeline.core._data_transfer_step_base._DataTransferStepBase
DataTransferStep

Konstruktor

DataTransferStep(name, source_data_reference=None, destination_data_reference=None, compute_target=None, source_reference_type=None, destination_reference_type=None, allow_reuse=True)

Parameter

name
str
Diperlukan

[Diperlukan] Nama langkah tersebut.

source_data_reference
Union[InputPortBinding, DataReference, PortDataReference, PipelineData]
nilai default: None

[Wajib] Koneksi input yang berfungsi sebagai sumber operasi transfer data.

destination_data_reference
Union[InputPortBinding, PipelineOutputAbstractDataset, DataReference]
nilai default: None

[Wajib] Koneksi output yang berfungsi sebagai tujuan operasi transfer data.

compute_target
DataFactoryCompute, str
nilai default: None

[Wajib] Azure Data Factory yang digunakan untuk mentransfer data.

source_reference_type
str
nilai default: None

String opsional yang menentukan jenis source_data_reference. Nilai yang memungkinkan termasuk: 'file', 'direktori'. Jika tidak ditentukan, jenis jalur yang ada akan digunakan. Gunakan parameter ini untuk membedakan antara file dan direktori dengan nama yang sama.

destination_reference_type
str
nilai default: None

String opsional yang menentukan jenis destination_data_reference. Nilai yang memungkinkan termasuk: 'file', 'direktori'. Saat tidak ditentukan, Azure Machine Learning menggunakan jenis jalur yang ada, referensi sumber, atau 'direktori', dalam urutan tersebut.

allow_reuse
bool
nilai default: True

Menunjukkan apakah langkah tersebut harus menggunakan kembali hasil sebelumnya saat dijalankan lagi dengan pengaturan yang sama. Penggunaan kembali diaktifkan secara default. Jika argumen langkah tetap tidak berubah, output dari eksekusi sebelumnya dari langkah ini akan digunakan ulang. Saat menggunakan ulang langkah tersebut, daripada mentransfer data lagi, hasil dari eksekusi sebelumnya segera dibuat tersedia untuk langkah berikutnya. Jika Anda menggunakan himpunan data Azure Machine Learning sebagai input, penggunaan ulang ditentukan oleh apakah definisi himpunan data telah berubah, bukan oleh apakah data yang mendasarinya telah berubah.

name
str
Diperlukan

[Diperlukan] Nama langkah tersebut.

source_data_reference
Union[InputPortBinding, DataReference, PortDataReference, PipelineData]
Diperlukan

[Wajib] Koneksi input yang berfungsi sebagai sumber operasi transfer data.

destination_data_reference
Union[InputPortBinding, PipelineOutputAbstractDataset, DataReference]
Diperlukan

[Wajib] Koneksi output yang berfungsi sebagai tujuan operasi transfer data.

compute_target
DataFactoryCompute, str
Diperlukan

[Wajib] Azure Data Factory yang digunakan untuk mentransfer data.

source_reference_type
str
Diperlukan

String opsional yang menentukan jenis source_data_reference. Nilai yang memungkinkan termasuk: 'file', 'direktori'. Jika tidak ditentukan, jenis jalur yang ada akan digunakan. Gunakan parameter ini untuk membedakan antara file dan direktori dengan nama yang sama.

destination_reference_type
str
Diperlukan

String opsional yang menentukan jenis destination_data_reference. Nilai yang memungkinkan termasuk: 'file', 'direktori'. Saat tidak ditentukan, Azure Machine Learning menggunakan jenis jalur yang ada, referensi sumber, atau 'direktori', dalam urutan tersebut.

allow_reuse
bool
Diperlukan

Menunjukkan apakah langkah tersebut harus menggunakan kembali hasil sebelumnya saat dijalankan lagi dengan pengaturan yang sama. Penggunaan kembali diaktifkan secara default. Jika argumen langkah tetap tidak berubah, output dari eksekusi sebelumnya dari langkah ini akan digunakan ulang. Saat menggunakan ulang langkah tersebut, daripada mentransfer data lagi, hasil dari eksekusi sebelumnya segera dibuat tersedia untuk langkah berikutnya. Jika Anda menggunakan himpunan data Azure Machine Learning sebagai input, penggunaan ulang ditentukan oleh apakah definisi himpunan data telah berubah, bukan oleh apakah data yang mendasarinya telah berubah.

Keterangan

Langkah ini mendukung jenis penyimpanan berikut sebagai sumber dan sink kecuali jika disebutkan:

  • Azure Blob Storage

  • Azure Data Lake Storage Gen1 dan Gen2

  • Azure SQL Database

  • Azure Database untuk PostgreSQL

  • Azure Database untuk MySQL

Untuk Azure SQL Database, Anda harus menggunakan autentikasi perwakilan layanan. Untuk informasi selengkapnya, lihat Autentikasi Perwakilan Layanan. Untuk contoh dalam menggunakan autentikasi perwakilan layanan untuk Azure SQL Database, lihat https://aka.ms/pl-data-trans.

Untuk membuat dependensi data di antara langkah-langkah, gunakan metode get_output untuk mendapatkan objek PipelineData yang menunjukkan output dari langkah transfer data ini dan dapat digunakan sebagai input untuk langkah selanjutnya dalam alur.


   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)

Untuk membuat InputPortBinding dengan nama tertentu, Anda dapat menggabungkan output get_output() dengan output metode as_input atau as_mount dari PipelineData.


   data_transfer_step = DataTransferStep(name="copy data", ...)
   training_input = data_transfer_step.get_output().as_input("my_input_name")

Metode

create_node

Buat node dari langkah DataTransfer dan tambahkan ke grafik yang diberikan.

Metode ini tidak dimaksudkan untuk digunakan secara langsung. Ketika alur dibuat dengan langkah ini, Azure Machine Learning secara otomatis meneruskan parameter yang diperlukan melalui metode ini sehingga langkah tersebut dapat ditambahkan ke grafik alur yang menunjukkan alur kerja.

get_output

Dapatkan output dari langkah sebagai PipelineData.

create_node

Buat node dari langkah DataTransfer dan tambahkan ke grafik yang diberikan.

Metode ini tidak dimaksudkan untuk digunakan secara langsung. Ketika alur dibuat dengan langkah ini, Azure Machine Learning secara otomatis meneruskan parameter yang diperlukan melalui metode ini sehingga langkah tersebut dapat ditambahkan ke grafik alur yang menunjukkan alur kerja.

create_node(graph, default_datastore, context)

Parameter

graph
Graph
Diperlukan

Objek grafik untuk menambahkan node.

default_datastore
Union[AbstractAzureStorageDatastore, AzureDataLakeDatastore]
Diperlukan

Datastore default.

context
<xref:azureml.pipeline.core._GraphContext>
Diperlukan

Konteks grafik.

Mengembalikan

Node yang dibuat.

Tipe hasil

get_output

Dapatkan output dari langkah sebagai PipelineData.

get_output()

Mengembalikan

Output langkah.

Tipe hasil

Keterangan

Untuk membuat dependensi data di antara langkah-langkah, gunakan metode get_output untuk mendapatkan objek PipelineData yang menunjukkan output dari langkah transfer data ini dan dapat digunakan sebagai input untuk langkah-langkah selanjutnya dalam alur.


   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)

Untuk membuat InputPortBinding dengan nama tertentu, Anda dapat menggabungkan panggilan get_output() dengan metode pembantu as_input atau as_mount.


   data_transfer_step = DataTransferStep(name="copy data", ...)

   training_input = data_transfer_step.get_output().as_input("my_input_name")