Conjuntos de dados no Azure Data FactoryDatasets in Azure Data Factory

APLICA-SE A: Azure Data Factory Azure Synapse Analytics

Este artigo descreve o que são conjuntos de dados, como eles são definidos no formato JSON e como são usados em pipelines do Azure Data Factory.This article describes what datasets are, how they are defined in JSON format, and how they are used in Azure Data Factory pipelines.

Se estiver conhecendo o Azure Data Factory agora, consulte Introdução ao Azure Data Factory para obter uma visão geral.If you are new to Data Factory, see Introduction to Azure Data Factory for an overview.

Visão geralOverview

Uma fábrica de dados pode ter um ou mais pipelines.A data factory can have one or more pipelines. Um pipeline é um agrupamento lógico de atividades que juntas executam uma tarefa.A pipeline is a logical grouping of activities that together perform a task. As atividades em um pipeline definem ações para executar em seus dados.The activities in a pipeline define actions to perform on your data. Por outro lado, um conjunto de dados é uma exibição nomeada de dados que simplesmente aponta ou faz referência aos dados que você deseja usar em suas atividades como entradas e saídas.Now, a dataset is a named view of data that simply points or references the data you want to use in your activities as inputs and outputs. Conjuntos de dados identificam dados em armazenamentos de dados diferentes, como tabelas, arquivos, pastas e documentos.Datasets identify data within different data stores, such as tables, files, folders, and documents. Por exemplo, um conjunto de dados de Blob do Azure especifica o contêiner de blobs e a pasta no armazenamento de Blobs dos quais a atividade deve ler os dados.For example, an Azure Blob dataset specifies the blob container and folder in Blob storage from which the activity should read the data.

Antes de criar um conjunto de dados, crie um serviço vinculado para vincular seu armazenamento de dados ao data factory.Before you create a dataset, you must create a linked service to link your data store to the data factory. Serviços vinculados são como cadeias de conexão, que definem as informações de conexão necessárias para o Data Factory para se conectar a recursos externos.Linked services are much like connection strings, which define the connection information needed for Data Factory to connect to external resources. Pense dessa maneira: o conjunto de dados representa a estrutura dos dados nos armazenamentos de dados vinculados e o serviço vinculado define a conexão à fonte de dados.Think of it this way; the dataset represents the structure of the data within the linked data stores, and the linked service defines the connection to the data source. Por exemplo, um serviço vinculado do Armazenamento do Azure vincula uma conta de armazenamento ao data factory.For example, an Azure Storage linked service links a storage account to the data factory. Um conjunto de dados de Blob do Azure representa o contêiner de blob e a pasta na conta de Armazenamento do Azure que contém os blobs de entrada a serem processados.An Azure Blob dataset represents the blob container and the folder within that Azure Storage account that contains the input blobs to be processed.

Veja abaixo um cenário de exemplo.Here is a sample scenario. Para copiar dados do armazenamento de BLOBs para um banco de dado SQL, você cria dois serviços vinculados: armazenamento de BLOBs do Azure e banco de dados SQL do Azure.To copy data from Blob storage to a SQL Database, you create two linked services: Azure Blob Storage and Azure SQL Database. Em seguida, crie dois conjuntos de dados: conjunto de dados de texto delimitado (que se refere ao serviço vinculado do armazenamento de BLOBs do Azure, supondo que você tenha arquivos de texto como fonte) e o conjunto de dados da tabela SQL do Azure (que se refere ao serviço vinculado do banco de dados SQL).Then, create two datasets: Delimited Text dataset (which refers to the Azure Blob Storage linked service, assuming you have text files as source) and Azure SQL Table dataset (which refers to the Azure SQL Database linked service). O armazenamento de BLOBs do Azure e os serviços vinculados do banco de dados SQL do Azure contêm cadeias de conexão que Data Factory usa em tempo de execução para se conectar ao armazenamento do Azure e ao banco de dados SQL do AzureThe Azure Blob Storage and Azure SQL Database linked services contain connection strings that Data Factory uses at runtime to connect to your Azure Storage and Azure SQL Database, respectively. O conjunto de dados de texto delimitado especifica o contêiner de BLOB e a pasta de BLOB que contém os blobs de entrada no armazenamento de BLOBs, juntamente com as configurações relacionadas ao formato.The Delimited Text dataset specifies the blob container and blob folder that contains the input blobs in your Blob storage, along with format-related settings. O conjunto de dados de Tabela do SQL do Azure especifica a tabela do SQL no Banco de Dados SQL no qual os dados serão copiados.The Azure SQL Table dataset specifies the SQL table in your SQL Database to which the data is to be copied.

O seguinte diagrama mostra a relação entre pipeline, atividade, conjunto de dados e serviço vinculado no Data Factory:The following diagram shows the relationships among pipeline, activity, dataset, and linked service in Data Factory:

Relação entre pipeline, atividade e conjunto de dados, serviços vinculados

Conjunto de dados do JSONDataset JSON

Um conjunto de dados no Data Factory é definido no formato JSON a seguir:A dataset in Data Factory is defined in the following JSON format:

{
    "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>",
        }
    }
}

A tabela a seguir descreve as propriedades no JSON acima:The following table describes properties in the above JSON:

PropriedadeProperty DescriçãoDescription ObrigatórioRequired
namename Nome do conjunto de dados.Name of the dataset. Consulte Azure Data Factory – Regras de nomenclatura.See Azure Data Factory - Naming rules. SimYes
typetype Tipo de conjunto de dados.Type of the dataset. Especifique um dos tipos com suporte pelo Data Factory (por exemplo: DelimitedText, AzureSqlTable).Specify one of the types supported by Data Factory (for example: DelimitedText, AzureSqlTable).

Para obter detalhes, consulte Tipos de conjunto de dados.For details, see Dataset types.
SimYes
esquemaschema Esquema do conjunto de dados representa a forma e o tipo de dado físico.Schema of the dataset, represents the physical data type and shape. NãoNo
typePropertiestypeProperties As propriedades de tipo são diferentes para cada tipo.The type properties are different for each type. Para obter detalhes sobre os tipos com suporte e suas propriedades, consulte Tipo de conjunto de dados.For details on the supported types and their properties, see Dataset type. SimYes

Ao importar o esquema do conjunto de uma, selecione o botão importar esquema e escolha Importar da origem ou de um arquivo local.When you import the schema of dataset, select the Import Schema button and choose to import from the source or from a local file. Na maioria dos casos, você importará o esquema diretamente da fonte.In most cases, you'll import the schema directly from the source. Mas se já tiver um arquivo de esquema local (um arquivo Parquet ou CSV com cabeçalhos), você poderá instruir o Data Factory a basear-se no esquema nesse arquivo.But if you already have a local schema file (a Parquet file or CSV with headers), you can direct Data Factory to base the schema on that file.

Na atividade de cópia, os conjuntos de valores são usados na origem e no coletor.In copy activity, datasets are used in source and sink. O esquema definido em DataSet é opcional como referência.Schema defined in dataset is optional as reference. Se você quiser aplicar o mapeamento de coluna/campo entre a origem e o coletor, consulte esquema e mapeamento de tipo.If you want to apply column/field mapping between source and sink, refer to Schema and type mapping.

No Fluxo de Dados, os conjuntos de dados são usados em transformações da fonte e do coletor.In Data Flow, datasets are used in source and sink transformations. Os conjuntos de dados definem os esquemas de dados básicos.The datasets define the basic data schemas. Se os dados não tiverem um esquema, use o descompasso de esquema para a fonte e o coletor.If your data has no schema, you can use schema drift for your source and sink. Os metadados dos conjuntos de dados aparecem na transformação da fonte como a projeção da fonte.Metadata from the datasets appears in your source transformation as the source projection. A projeção na transformação da fonte representa os dados do Fluxo de Dados com nomes e tipos definidos.The projection in the source transformation represents the Data Flow data with defined names and types.

Tipo de conjunto de dadosDataset type

O Azure Data Factory dá suporte a muitos tipos diferentes de conjuntos de dados, dependendo dos armazenamentos que você usa.Azure Data Factory supports many different types of datasets, depending on the data stores you use. Você pode encontrar a lista de armazenamentos de dados com suporte pelo Data Factory do artigo visão geral do conector .You can find the list of data stores supported by Data Factory from Connector overview article. Clique em um armazenamento de dados para saber como criar um serviço vinculado e um conjunto de dado para ele.Click a data store to learn how to create a linked service and a dataset for it.

Por exemplo, para um conjunto de texto delimitado, o tipo DataSet é definido como DelimitedText , conforme mostrado no exemplo de JSON a seguir:For example, for a Delimited Text dataset, the dataset type is set to DelimitedText as shown in the following JSON sample:

{
    "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": []
    }
}

Criar conjuntos de dadosCreate datasets

Você pode criar conjuntos de dados usando uma dessas ferramentas ou SDKs: API do .NET, PowerShell, API REST, modelo do Azure Resource Manager e Portal do AzureYou can create datasets by using one of these tools or SDKs: .NET API, PowerShell, REST API, Azure Resource Manager Template, and Azure portal

Conjuntos de dados da versão atual vs. versão 1Current version vs. version 1 datasets

A seguir, são apresentadas algumas diferenças entre os conjuntos de dados do Data Factory e Data Factory versão 1:Here are some differences between Data Factory and Data Factory version 1 datasets:

  • A propriedade externa não é tem suporte na versão atual.The external property is not supported in the current version. Ela é substituída por um gatilho.It's replaced by a trigger.
  • Não há suporte para as propriedades de disponibilidade e política na versão atual.The policy and availability properties are not supported in the current version. A hora de início de um pipeline depende de gatilhos.The start time for a pipeline depends on triggers.
  • Não há suporte para conjuntos de dados com escopo (conjuntos de dados definidos em um pipeline) na versão atual.Scoped datasets (datasets defined in a pipeline) are not supported in the current version.

Próximas etapasNext steps

Consulte os seguintes tutoriais para obter instruções passo a passo para criar pipelines e conjuntos de dados usando uma destas ferramentas ou SDKs.See the following tutorial for step-by-step instructions for creating pipelines and datasets by using one of these tools or SDKs.