DataTransferStep Clase

Crea un paso de canalización de Azure ML que transfiere datos entre las opciones de almacenamiento.

DataTransferStep admite tipos de almacenamiento comunes (por ejemplo, Azure Blob Storage y Azure Data Lake) como orígenes y receptores. Para más información, vea la sección Notas.

Para un ejemplo del uso de DataTransferStep, consulte el cuaderno https://aka.ms/pl-data-trans.

Cree un paso de canalización de Azure ML que transfiera datos entre opciones de almacenamiento.

Herencia
azureml.pipeline.core._data_transfer_step_base._DataTransferStepBase
DataTransferStep

Constructor

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

Parámetros

name
str
Requerido

[Obligatorio] El nombre del paso.

source_data_reference
Union[InputPortBinding, DataReference, PortDataReference, PipelineData]
valor predeterminado: None

[Obligatorio] Una conexión de entrada que actúa como origen de la operación de transferencia de datos.

destination_data_reference
Union[InputPortBinding, PipelineOutputAbstractDataset, DataReference]
valor predeterminado: None

[Obligatorio] Una conexión de salida que actúa como destino de la operación de transferencia de datos.

compute_target
DataFactoryCompute, str
valor predeterminado: None

[Obligatorio] Una instancia de Azure Data Factory para usar para transferir datos.

source_reference_type
str
valor predeterminado: None

Una cadena opcional que especifica el tipo de source_data_reference. Entre los valores posibles se incluyen: "file" y "directory". Cuando no se especifica, se usa el tipo de ruta de acceso existente. Use este parámetro para diferenciar entre un archivo y un directorio que tienen el mismo nombre.

destination_reference_type
str
valor predeterminado: None

Una cadena opcional que especifica el tipo de destination_data_reference. Entre los valores posibles se incluyen: "file" y "directory". Cuando no se especifica, Azure ML el tipo de ruta de acceso existente, la referencia de origen o "directory", en ese orden.

allow_reuse
bool
valor predeterminado: True

Indica si el paso debe volver a usar los resultados anteriores cuando se vuelve a ejecutar con la misma configuración. La reutilización está habilitada de manera predeterminada. Si los argumentos del paso permanecen sin cambios, se vuelve a usar la salida de la ejecución anterior de este paso. Al volver a usar el paso, en lugar de volver a transferir los datos, los resultados de la ejecución anterior se ponen a disposición de inmediato para los pasos posteriores. Si usa conjuntos de datos de Azure Machine Learning como entradas, la reutilización viene determinada por si la definición del conjunto de datos ha cambiado, no por si los datos subyacentes han cambiado.

name
str
Requerido

[Obligatorio] El nombre del paso.

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

[Obligatorio] Una conexión de entrada que actúa como origen de la operación de transferencia de datos.

destination_data_reference
Union[InputPortBinding, PipelineOutputAbstractDataset, DataReference]
Requerido

[Obligatorio] Una conexión de salida que actúa como destino de la operación de transferencia de datos.

compute_target
DataFactoryCompute, str
Requerido

[Obligatorio] Una instancia de Azure Data Factory para usar para transferir datos.

source_reference_type
str
Requerido

Una cadena opcional que especifica el tipo de source_data_reference. Entre los valores posibles se incluyen: "file" y "directory". Cuando no se especifica, se usa el tipo de ruta de acceso existente. Use este parámetro para diferenciar entre un archivo y un directorio que tienen el mismo nombre.

destination_reference_type
str
Requerido

Una cadena opcional que especifica el tipo de destination_data_reference. Entre los valores posibles se incluyen: "file" y "directory". Cuando no se especifica, Azure ML el tipo de ruta de acceso existente, la referencia de origen o "directory", en ese orden.

allow_reuse
bool
Requerido

Indica si el paso debe volver a usar los resultados anteriores cuando se vuelve a ejecutar con la misma configuración. La reutilización está habilitada de manera predeterminada. Si los argumentos del paso permanecen sin cambios, se vuelve a usar la salida de la ejecución anterior de este paso. Al volver a usar el paso, en lugar de volver a transferir los datos, los resultados de la ejecución anterior se ponen a disposición de inmediato para los pasos posteriores. Si usa conjuntos de datos de Azure Machine Learning como entradas, la reutilización viene determinada por si la definición del conjunto de datos ha cambiado, no por si los datos subyacentes han cambiado.

Comentarios

Este paso admite los siguientes tipos de almacenamiento como orígenes y receptores, excepto donde se indica:

  • Azure Blob Storage

  • Azure Data Lake Storage Gen1 y Gen2

  • Azure SQL Database

  • Azure Database for PostgreSQL

  • Azure Database for MySQL

Para Azure SQL Database, debe usar la autenticación de entidad de servicio. Para más información, consulte Autenticación de entidad de servicio. Para obtener un ejemplo del uso de la autenticación de entidad de servicio para Azure SQL Database, consulte https://aka.ms/pl-data-trans.

Para establecer la dependencia de datos entre pasos, use el método get_output para obtener un objeto PipelineData que represente la salida de este paso de transferencia de datos y que se pueda usar como entrada para los pasos posteriores de la canalización.


   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)

Para crear InputPortBinding con un nombre específico, puede combinar la salida get_output() con la salida de los métodos as_input o as_mount de PipelineData.


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

Métodos

create_node

Cree un nodo a partir del paso DataTransfer y agréguelo al grafo especificado.

Este método no está pensado para usarse directamente. Cuando se crea una instancia de una canalización con este paso, Azure ML pasa automáticamente los parámetros necesarios a través de este método para que ese paso se pueda agregar a un grafo de canalización que represente el flujo de trabajo.

get_output

Obtenga la salida del paso como PipelineData.

create_node

Cree un nodo a partir del paso DataTransfer y agréguelo al grafo especificado.

Este método no está pensado para usarse directamente. Cuando se crea una instancia de una canalización con este paso, Azure ML pasa automáticamente los parámetros necesarios a través de este método para que ese paso se pueda agregar a un grafo de canalización que represente el flujo de trabajo.

create_node(graph, default_datastore, context)

Parámetros

graph
Graph
Requerido

El objeto de grafo al que se agrega el nodo.

default_datastore
Union[AbstractAzureStorageDatastore, AzureDataLakeDatastore]
Requerido

El almacén de datos predeterminado.

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

El contexto del grafo.

Devoluciones

El nodo creado.

Tipo de valor devuelto

get_output

Obtenga la salida del paso como PipelineData.

get_output()

Devoluciones

La salida del paso.

Tipo de valor devuelto

Comentarios

Para establecer la dependencia de datos entre pasos, use el método get_output para obtener un objeto PipelineData que represente la salida de este paso de transferencia de datos y que se pueda usar como entrada para los pasos posteriores de la canalización.


   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)

Para crear una clase InputPortBinding con un nombre específico, puede combinar la llamada get_output() con métodos auxiliares as_input o as_mount.


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

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