Conjuntos de dados no Azure Data Factory e no Azure Synapse Analytics
APLICA-SE A: Azure Data Factory Azure Synapse Analytics
Gorjeta
Experimente o Data Factory no Microsoft Fabric, uma solução de análise tudo-em-um para empresas. O Microsoft Fabric abrange tudo, desde a movimentação de dados até ciência de dados, análises em tempo real, business intelligence e relatórios. Saiba como iniciar uma nova avaliação gratuitamente!
Este artigo descreve o que são conjuntos de dados, como eles são definidos no formato JSON e como eles são usados no Azure Data Factory e nos pipelines Synapse.
Se você é novo no Data Factory, consulte Introdução ao Azure Data Factory para obter uma visão geral. Para obter mais informações sobre o Azure Synapse, consulte O que é o 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 de Blob do Azure especifica o contêiner e a pasta de blob no Armazenamento de Blob a partir do qual 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 vinculado do Armazenamento do Azure vincula uma conta de armazenamento. Um conjunto de dados de Blob do Azure representa o contêiner de blob e a pasta dentro dessa conta de 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 de Blob para um Banco de Dados SQL, crie dois serviços vinculados: Armazenamento de Blob do Azure e Banco de Dados SQL do Azure. Em seguida, crie dois conjuntos de dados: Conjunto de dados de Texto Delimitado (que se refere ao serviço vinculado Armazenamento de Blobs do Azure, supondo que você tenha arquivos de texto como origem) e Conjunto de dados da Tabela SQL do Azure (que se refere ao serviço vinculado do Banco de Dados SQL do Azure). Os serviços vinculados do Armazenamento de Blobs do Azure e do Banco de Dados SQL do Azure contêm cadeias de conexão que o serviço usa em tempo de execução para se conectar ao Armazenamento do Azure e ao Banco de Dados SQL do Azure, respectivamente. O conjunto de dados Texto Delimitado especifica o contêiner de blob e a pasta de blob que contém os blobs de entrada em seu Armazenamento de Blobs, juntamente com as configurações relacionadas ao formato. O conjunto de dados Tabela SQL do Azure especifica a tabela SQL em seu Banco de Dados SQL para a qual os dados devem ser copiados.
O diagrama a seguir mostra as relações entre pipeline, atividade, conjunto de dados e 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 a guia Autor (com o ícone de lápis) e, em seguida, o ícone de sinal de adição, para escolher Conjunto de Dados.
Você 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 vinculado novo ou existente.
Em seguida, você será solicitado a escolher o formato do 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.
Depois de criar o conjunto de dados, você pode 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 | Necessá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 coletor. O esquema definido no conjunto de dados é opcional como referência. Se quiser aplicar o mapeamento de coluna/campo entre a origem e o coletor, consulte Mapeamento de esquema e tipo.
No Fluxo de Dados, os conjuntos de dados são usados em transformações de origem e coletor. Os conjuntos de dados definem os esquemas de dados básicos. Se os dados não tiverem esquema, você poderá usar o desvio de esquema para a origem e o coletor. Os metadados dos conjuntos de dados aparecem na transformação de origem como a projeção de origem. A projeção na transformação de origem representa os dados de 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 armazenamentos 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": []
}
}
Criar conjuntos de dados
Você pode criar conjuntos de dados usando uma destas ferramentas ou SDKs: API .NET, PowerShell, API REST, Modelo do Azure Resource Manager e portal do Azure
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 na Sinapse do Azure) e a versão 1 herdada 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.
Conteúdos relacionados
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.
- Quickstart: create a data factory using .NET (Início rápido: criar uma fábrica de dados com .NET)
- Guia de início rápido: criar uma fábrica de dados usando o PowerShell
- Guia de início rápido: criar uma fábrica de dados usando a API REST
- Guia de início rápido: criar uma fábrica de dados usando o portal do Azure