Compartir a través de


DataTransferStep Clase

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

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

Para obtener un ejemplo de 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 las opciones de almacenamiento.

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

Nombre Description
name
Requerido
str

[Obligatorio] Nombre del paso.

source_data_reference

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

Valor predeterminado: None
destination_data_reference

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

Valor predeterminado: None
compute_target

[Obligatorio] Una instancia de Azure Data Factory que se va a usar para transferir datos.

Valor predeterminado: None
source_reference_type
str

Cadena opcional que especifica el tipo de source_data_reference. Entre los valores posibles se incluyen: 'file', '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 con el mismo nombre.

Valor predeterminado: None
destination_reference_type
str

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

Valor predeterminado: None
allow_reuse

Indica si el paso debe reutilizar los resultados anteriores al volver a ejecutarse con la misma configuración. La reutilización está habilitada de forma predeterminada. Si los argumentos del paso permanecen sin cambios, se reutiliza la salida de la ejecución anterior de este paso. Al volver a usar el paso, en lugar de transferir datos de nuevo, los resultados de la ejecución anterior se pone inmediatamente a disposición de 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.

Valor predeterminado: True
name
Requerido
str

[Obligatorio] Nombre del paso.

source_data_reference
Requerido

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

destination_data_reference
Requerido

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

compute_target
Requerido

[Obligatorio] Una instancia de Azure Data Factory que se va a usar para transferir datos.

source_reference_type
Requerido
str

Cadena opcional que especifica el tipo de source_data_reference. Entre los valores posibles se incluyen: 'file', '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 con el mismo nombre.

destination_reference_type
Requerido
str

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

allow_reuse
Requerido

Indica si el paso debe reutilizar los resultados anteriores al volver a ejecutarse con la misma configuración. La reutilización está habilitada de forma predeterminada. Si los argumentos del paso permanecen sin cambios, se reutiliza la salida de la ejecución anterior de este paso. Al volver a usar el paso, en lugar de transferir datos de nuevo, los resultados de la ejecución anterior se pone inmediatamente a disposición de 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 cuando se indique lo siguiente:

  • Almacenamiento de Blobs de Azure (Azure Blob Storage)

  • Azure Data Lake Storage Gen1 y Gen2

  • Azure SQL Database

  • Base de Datos de Azure para PostgreSQL

  • Base de Datos Azure para MySQL

Para Azure SQL Database, debe usar la autenticación de entidad de servicio. Para obtener más información, consulte Autenticación de entidad de servicio. Para obtener un ejemplo de 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 los pasos, use el get_output método para obtener un PipelineData objeto que represente la salida de este paso de transferencia de datos y 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 un con un InputPortBinding nombre específico, puede combinar get_output() salida con la salida de los as_input métodos 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 gráfico 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 el 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 gráfico 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 el paso se pueda agregar a un grafo de canalización que represente el flujo de trabajo.

create_node(graph, default_datastore, context)

Parámetros

Nombre Description
graph
Requerido

Objeto de grafo al que se va a agregar el nodo.

default_datastore
Requerido

Almacén de datos predeterminado.

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

Contexto del grafo.

Devoluciones

Tipo Description

Nodo creado.

get_output

Obtenga la salida del paso como PipelineData.

get_output()

Devoluciones

Tipo Description

Salida del paso.

Comentarios

Para establecer la dependencia de datos entre los pasos, use get_output el método para obtener un PipelineData objeto que represente la salida de este paso de transferencia de datos y 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 un con un InputPortBinding nombre específico, puede combinar get_output() llamada con as_input métodos auxiliares o as_mount .


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

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