Partilhar via


Conjuntos de dados no Azure Data Factory e no Azure Synapse Analytics

APLICA-SE A: Azure Data Factory Azure Synapse Analytics

Gorjeta

Data Factory em Microsoft Fabric é a próxima geração de Azure Data Factory, com uma arquitetura mais simples, IA incorporada e novas funcionalidades. Se és novo na integração de dados, começa pelo Fabric Data Factory. As cargas de trabalho existentes do ADF podem atualizar para o Fabric para aceder a novas capacidades em ciência de dados, análise em tempo real e relatórios.

Este artigo descreve o que são conjuntos de dados, como são definidos em formato JSON e como são usados nos pipelines do Azure Data Factory e Synapse.

Se és novo no Data Factory, vê Introdução ao Azure Data Factory para uma visão geral. Para mais informações sobre Azure Synapse, veja O que é Azure Synapse

Descrição geral

Um espaço de trabalho do Azure Data Factory ou Synapse pode ter um ou mais pipelines. Um pipeline é um agrupamento lógico de atividades que, juntas, executam uma tarefa. As atividades num pipeline definem as ações a executar nos seus dados. Agora, 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. Os conjuntos de dados identificam dados dentro de diferentes arquivos de dados, como tabelas, ficheiros, pastas e documentos. Por exemplo, um conjunto de dados do Azure Blob especifica o contentor e a pasta de blobs no Armazenamento de Blobs de onde a atividade deve ler os dados.

Antes de criar um conjunto de dados, você deve criar um serviço vinculado para vincular seu armazenamento de dados ao serviço. Os serviços vinculados são muito parecidos com cadeias de conexão, que definem as informações de conexão necessárias para que o serviço se conecte a recursos externos. Pense nisso desta forma; O conjunto de dados representa a estrutura dos dados dentro dos armazenamentos de dados vinculados e o serviço vinculado define a conexão com a fonte de dados. Por exemplo, um serviço ligado ao Armazenamento do Azure liga uma conta de armazenamento. Um conjunto de dados Azure Blob representa o contentor de blobs e a pasta dentro dessa conta Armazenamento do Azure que contém os blobs de entrada a serem processados.

Aqui está um cenário de exemplo. Para copiar dados do armazenamento Blob para uma base de dados SQL, cria-se dois serviços ligados: Armazenamento de Blobs do Azure e Base de Dados SQL do Azure. Depois, crie dois conjuntos de dados: Delimited Text dataset (que se refere ao serviço ligado Armazenamento de Blobs do Azure, assumindo que tem ficheiros de texto como fonte) e SQL do Azure Table dataset (que se refere ao serviço ligado Base de Dados SQL do Azure). Os serviços ligados do Armazenamento de Blobs do Azure e do Base de Dados SQL do Azure contêm strings de ligação que os serviços utilizam em tempo de execução para se ligarem ao seu Armazenamento do Azure e ao seu Base de Dados SQL do Azure, respetivamente. O conjunto de dados Delimited Text especifica o contentor de blobs e a pasta de blobs que contém os blobs de entrada no seu Armazenamento de Blobs, juntamente com as definições relacionadas com o formato. O conjunto de dados SQL do Azure Table especifica a tabela SQL na sua base de dados SQL para onde os dados devem ser copiados.

O diagrama a seguir mostra as relações entre pipeline, atividade, conjunto de dados e serviços vinculados:

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

Criar um conjunto de dados com a interface do usuário

Para criar um conjunto de dados com o Azure Data Factory Studio, selecione o separador Autor (com o ícone do lápis) e depois o ícone do sinal de mais, para escolher Dataset.

Mostra o separador Autor do Azure Data Factory Studio com o botão do novo conjunto de dados selecionado.

Verá a nova janela do conjunto de dados para escolher qualquer um dos conectores disponíveis no Azure Data Factory, para configurar um serviço ligado existente ou novo.

Mostra a nova janela do conjunto de dados onde você pode escolher o tipo de serviço vinculado a qualquer um dos conectores de data factory suportados.

Em seguida, você será solicitado a escolher o formato do conjunto de dados.

Mostra a janela de formato do conjunto de dados permitindo que você escolha um formato para o novo conjunto de dados.

Finalmente, você pode escolher um serviço vinculado existente do tipo selecionado para o conjunto de dados ou criar um novo, se ainda não estiver definido.

Mostra a janela de propriedades do conjunto onde você pode escolher um conjunto de dados existente do tipo selecionado anteriormente ou criar um novo.

Depois de criares o conjunto de dados, podes usá-lo em qualquer pipeline no Azure Data Factory.

JSON do conjunto de dados

Um conjunto de dados é definido no seguinte 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>",
        }
    }
}

A tabela a seguir descreve as propriedades no JSON acima:

Propriedade Descrição Obrigatório
nome Nome do conjunto de dados. Consulte Regras de nomenclatura. Sim
tipo Tipo do conjunto de dados. Especifique um dos tipos suportados pelo Data Factory (por exemplo: DelimitedText, AzureSqlTable).

Para obter detalhes, consulte Tipos de conjunto de dados.
Sim
esquema Esquema do conjunto de dados, representa o tipo de dados físicos e a forma. Não
typeProperties As propriedades de tipo são diferentes para cada tipo. Para obter detalhes sobre os tipos suportados e suas propriedades, consulte Tipo de conjunto de dados. Sim

Ao importar o esquema do conjunto de dados, selecione o botão Importar esquema e escolha importar da origem ou de um arquivo local. Na maioria dos casos, você importará o esquema diretamente da origem. Mas se você já tiver um arquivo de esquema local (um arquivo Parquet ou CSV com cabeçalhos), poderá direcionar o serviço para basear o esquema nesse arquivo.

Na atividade de cópia, os conjuntos de dados são usados na origem e no destino. O esquema definido no conjunto de dados é opcional como referência. Se quiser aplicar o mapeamento de coluna/campo entre a origem e o destino, consulte "Mapeamento de esquema e tipo".

No Fluxo de Dados, os conjuntos de dados são usados em transformações de origem e sumidouro. Os conjuntos de dados definem os esquemas de dados básicos. Se os seus dados não tiverem esquema, pode-se usar o desvio de esquema para a origem e o destino. Os metadados do conjunto de dados aparecem na sua transformação de origem como a projeção da origem. A projeção na transformação de origem representa os dados do Fluxo de Dados com nomes e tipos definidos.

Tipo de conjunto de dados

O serviço suporta muitos tipos diferentes de conjuntos de dados, dependendo dos armazenamentos de dados que você usa. Você pode encontrar a lista de repositórios de dados suportados no artigo Visão geral do conector. Selecione um armazenamento de dados para saber como criar um serviço vinculado e um conjunto de dados para ele.

Por exemplo, para um conjunto de dados Texto Delimitado, o tipo de conjunto de dados é definido como DelimitedText conforme mostrado no seguinte exemplo 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

O valor do esquema é definido usando a sintaxe JSON. Para informações mais detalhadas sobre mapeamento de esquemas e mapeamento de tipos de dados, consulte a documentação Azure Data Factory Copy Activity Schema and Type Mape.

Criar conjuntos de dados

Pode criar conjuntos de dados usando uma destas ferramentas ou SDKs: .NET API, PowerShell, REST API, Azure Resource Manager Template e Azure portal

Conjuntos de dados da versão atual vs. versão 1

Aqui estão algumas diferenças entre os conjuntos de dados na versão atual do Data Factory (e do Azure Synapse) e a versão 1 legada do Data Factory:

  • A propriedade externa não é suportada na versão atual. É substituído por um gatilho.
  • As propriedades de política e disponibilidade não são suportadas na versão atual. A hora de início de um pipeline depende de gatilhos.
  • Conjuntos de dados com escopo (conjuntos de dados definidos em um pipeline) não são suportados na versão atual.

Guias Rápidos de Início

Consulte o tutorial a seguir para obter instruções passo a passo para criar pipelines e conjuntos de dados usando uma dessas ferramentas ou SDKs.

Referências de esquema de conjunto de dados