Conjuntos de datos en Azure Data Factory y Azure Synapse Analytics

SE APLICA A: Azure Data Factory Azure Synapse Analytics

Sugerencia

Data Factory en Microsoft Fabric es la próxima generación de Azure Data Factory, con una arquitectura más sencilla, inteligencia artificial integrada y nuevas características. Si no está familiarizado con la integración de datos, comience con Fabric Data Factory. Las cargas de trabajo de ADF existentes pueden actualizarse a Fabric para acceder a nuevas funcionalidades en ciencia de datos, análisis en tiempo real e informes.

En este artículo se describen los conjuntos de datos, cómo se definen en formato JSON y cómo se usan en canalizaciones de Azure Data Factory y Synapse.

Si no está familiarizado con Data Factory, consulte Introducción a Azure Data Factory para obtener información general. Para obtener más información sobre Azure Synapse, vea ¿Qué es Azure Synapse

Información general

Una Azure Data Factory o un área de trabajo de Synapse pueden tener una o varias canalizaciones. Un pipeline es una agrupación lógica de actividades que juntas realizan una tarea. Las actividades de una canalización definen las acciones que se van a realizar en los datos. Ahora, un conjunto de datos es una vista con nombre de los datos que simplemente apunta o hace referencia a los datos que desea usar en sus actividades como entradas y salidas. Los conjuntos de datos identifican datos en distintos almacenes de datos, como tablas, archivos, carpetas y documentos. Por ejemplo, un conjunto de datos de Azure Blob especifica el contenedor de blobs y la carpeta en Blob Storage desde el que la actividad debe leer los datos.

Antes de crear un conjunto de datos, debe crear un servicio vinculado para vincular el almacén de datos al servicio. Los servicios vinculados son muy similares a las cadenas de conexión, que definen la información de conexión necesaria para que el servicio se conecte a recursos externos. Considérelos de esta forma: el conjunto de datos representa la estructura de los datos dentro de los almacenes de datos vinculados y el servicio vinculado define la conexión al origen de datos. Por ejemplo, un servicio vinculado Azure Storage vincula una cuenta de almacenamiento. Un conjunto de datos de Azure Blob representa el contenedor de blobs y la carpeta dentro de esa cuenta de Azure Storage que contiene los blobs de entrada que se van a procesar.

Este es un escenario de ejemplo. Para copiar datos de Blob Storage en una instancia de SQL Database, cree dos servicios vinculados: Azure Blob Storage y Azure SQL Database. A continuación, cree dos conjuntos de datos: conjunto de datos de texto delimitado (que hace referencia al servicio vinculado Azure Blob Storage, suponiendo que tenga archivos de texto como origen) y Azure SQL conjunto de datos Table (que hace referencia al servicio vinculado Azure SQL Database). Los servicios vinculados Azure Blob Storage y Azure SQL Database contienen cadenas de conexión que el servicio usa en tiempo de ejecución para conectarse a su Azure Storage y Azure SQL Database, respectivamente. El conjunto de datos de texto delimitado especifica el contenedor de blobs y la carpeta de blobs que contiene los blobs de entrada de Blob Storage, junto con la configuración relacionada con el formato. El conjunto de datos de Azure SQL Table especifica la tabla SQL de la base de datos SQL a la que se van a copiar los datos.

En el siguiente diagrama se muestran las relaciones entre canalización, actividad, conjunto de datos y servicios vinculados:

Relación entre la canalización, la actividad, el conjunto de datos y los servicios vinculados

Cree un conjunto de datos con interfaz de usuario

Para crear un conjunto de datos con el Azure Data Factory Studio, seleccione la pestaña Autor (con el icono de lápiz) y, a continuación, el icono de signo más, para elegir Dataset.

Muestra la pestaña Author de Azure Data Factory Studio con el botón de nuevo conjunto de datos seleccionado.

Verá la nueva ventana del conjunto de datos para elegir cualquiera de los conectores disponibles en Azure Data Factory, para configurar un servicio vinculado existente o nuevo.

Muestra la nueva ventana del conjunto de datos donde puede elegir el tipo de servicio vinculado a cualquiera de los conectores de factoría de datos admitidos.

A continuación, se le pedirá que elija el formato del conjunto de datos.

Muestra la ventana de formato del conjunto de datos que le permite elegir un formato para el nuevo conjunto de datos.

Por último, puede elegir un servicio vinculado existente del tipo seleccionado para el conjunto de datos o crear uno nuevo si aún no está definido.

Muestra la ventana de propiedades de conjunto donde puede elegir un conjunto de datos existente del tipo seleccionado anteriormente o crear uno nuevo.

Una vez creado el conjunto de datos, puede usarlo en cualquier canalización del Azure Data Factory.

Conjunto de datos JSON

Un conjunto de datos se define en el siguiente formato JSON:

{
    "name": "<name of dataset>",
    "properties": {
        "type": "<type of dataset: DelimitedText, AzureSqlTable etc...>",
        "linkedServiceName": {
                "referenceName": "<name of linked service>",
                "type": "LinkedServiceReference",
        },
        "schema":[

        ],
        "typeProperties": {
            "<type specific property>": "<value>",
            "<type specific property 2>": "<value 2>",
        }
    }
}

La tabla siguiente describe las propiedades del JSON anterior:

Propiedad Descripción Obligatorio
nombre Nombre del conjunto de datos. Vea Reglas de nomenclatura.
tipo Tipo de conjunto de datos. Especifique uno de los tipos admitidos por Data Factory (por ejemplo: DelimitedText, AzureSqlTable).

Para más información, consulte Dataset types (Tipo de conjunto de datos).
esquema Esquema del conjunto de datos. Representa la forma y tipo de datos físico. No
typeProperties Las propiedades de tipo son diferentes para cada tipo. Para más información sobre los tipos admitidos y sus propiedades, consulte Tipo de conjunto de datos.

Cuando importe el esquema de un conjunto de datos, seleccione el botón Importar esquema y elija Importar desde el origen o desde un archivo local. En la mayoría de los casos, importará el esquema directamente desde el origen. Pero si ya tiene un archivo de esquema local (un archivo Parquet o CSV con encabezados), puede indicarle al servicio que base el esquema en ese archivo.

En la actividad de copia, los conjunto de datos se usan en el origen y el receptor. El esquema definido en el conjunto de datos es opcional como referencia. Si quiere aplicar la asignación de campos o columnas entre el origen y el receptor, consulte Asignación de esquemas y tipos de datos.

En Data Flow, los conjuntos de datos se usan en transformaciones de origen y destino. Los conjuntos de datos definen los esquemas de datos básicos. Si los datos no tienen un esquema, puede utilizar un desfase de esquema para el origen y receptor. Los metadatos de los conjuntos de datos aparecen en la transformación de origen como la proyección de origen. La proyección en la transformación de origen representa los datos del Flujo de Datos con nombres y tipos definidos.

Tipo de conjunto de datos

El servicio admite muchos tipos diferentes de conjuntos de datos, según los almacenes de datos que se usen. Puede encontrar la lista de almacenes de datos admitidos en el artículo Introducción a los conectores. Seleccione un almacén de datos para obtener información sobre cómo crear un servicio vinculado y un conjunto de datos para ese almacén de datos.

Por ejemplo, para un conjunto de datos de texto delimitado, el tipo de conjunto de datos se establece en DelimitedText, como se muestra en el siguiente ejemplo de JSON:

{
    "name": "DelimitedTextInput",
    "properties": {
        "linkedServiceName": {
            "referenceName": "AzureBlobStorage",
            "type": "LinkedServiceReference"
        },
        "annotations": [],
        "type": "DelimitedText",
        "typeProperties": {
            "location": {
                "type": "AzureBlobStorageLocation",
                "fileName": "input.log",
                "folderPath": "inputdata",
                "container": "adfgetstarted"
            },
            "columnDelimiter": ",",
            "escapeChar": "\\",
            "quoteChar": "\""
        },
        "schema": []
    }
}

Nota:

El valor de esquema se define mediante la sintaxis JSON. Para obtener información más detallada sobre la asignación de esquemas y la asignación de tipos de datos, consulte la documentación de Azure Data Factory Esquema de actividad de copia y asignación de tipos.

Creación de conjuntos de datos

Puede crear conjuntos de datos mediante una de estas herramientas o SDK: .NET API, PowerShell, REST API, plantilla de Azure Resource Manager y Azure portal

Conjuntos de datos de la versión actual frente a los de la versión 1

Estas son algunas diferencias entre los conjuntos de datos de la versión actual de Data Factory (y Azure Synapse) y la versión 1 heredada de Data Factory:

  • La propiedad externa no se admite en la versión actual. Se sustituye por un desencadenador.
  • Las propiedades de política y disponibilidad no se admiten en la versión actual. La hora de inicio de una canalización depende de desencadenadores.
  • Los conjuntos de datos de ámbito (conjuntos de datos definidos en una canalización) no se admiten en la versión actual.

Guías de inicio rápido

Consulte el siguiente tutorial para obtener instrucciones paso a paso sobre cómo crear canalizaciones y conjuntos de datos con una de estas herramientas o SDK.

Referencias de esquema del conjunto de datos