Transformação de origem no mapeamento de fluxos de dados

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!

Os fluxos de dados estão disponíveis no Azure Data Factory e no Azure Synapse Pipelines. Este artigo aplica-se ao mapeamento de fluxos de dados. Se você é novo em transformações, consulte o artigo introdutório Transformar dados usando um fluxo de dados de mapeamento.

Uma transformação de origem configura sua fonte de dados para o fluxo de dados. Quando você projeta fluxos de dados, sua primeira etapa é sempre configurar uma transformação de origem. Para adicionar uma fonte, selecione a caixa Adicionar fonte na tela de fluxo de dados.

Cada fluxo de dados requer pelo menos uma transformação de origem, mas você pode adicionar quantas fontes forem necessárias para concluir suas transformações de dados. Você pode unir essas fontes com uma junção, pesquisa ou uma transformação de união.

Cada transformação de origem está associada a exatamente um conjunto de dados ou serviço vinculado. O conjunto de dados define a forma e o local dos dados que você deseja gravar ou ler. Se você usar um conjunto de dados baseado em arquivo, poderá usar curingas e listas de arquivos na origem para trabalhar com mais de um arquivo de cada vez.

Conjuntos de dados embutidos

A primeira decisão que você toma quando cria uma transformação de origem é se as informações de origem são definidas dentro de um objeto de conjunto de dados ou dentro da transformação de origem. A maioria dos formatos está disponível em apenas um ou outro. Para saber como usar um conector específico, consulte o documento do conector apropriado.

Quando há suporte para um formato embutido e em um objeto de conjunto de dados, há benefícios para ambos. Os objetos de conjunto de dados são entidades reutilizáveis que podem ser usadas em outros fluxos de dados e atividades, como Copiar. Essas entidades reutilizáveis são especialmente úteis quando você usa um esquema protegido. Os conjuntos de dados não são baseados no Spark. Ocasionalmente, talvez seja necessário substituir determinadas configurações ou projeção de esquema na transformação de origem.

Os conjuntos de dados embutidos são recomendados quando você usa esquemas flexíveis, instâncias de origem únicas ou fontes parametrizadas. Se sua origem for fortemente parametrizada, os conjuntos de dados embutidos permitirão que você não crie um objeto "fictício". Os conjuntos de dados embutidos são baseados no Spark e suas propriedades são nativas do fluxo de dados.

Para usar um conjunto de dados embutido, selecione o formato desejado no seletor de tipo de origem . Em vez de selecionar um conjunto de dados de origem, selecione o serviço vinculado ao qual deseja se conectar.

Opções de esquema

Como um conjunto de dados embutido é definido dentro do fluxo de dados, não há um esquema definido associado ao conjunto de dados embutido. Na guia Projeção, você pode importar o esquema de dados de origem e armazená-lo como sua projeção de origem. Nesta guia, você encontra um botão "Opções de esquema" que permite definir o comportamento do serviço de descoberta de esquema do ADF.

  • Usar esquema projetado: esta opção é útil quando você tem um grande número de arquivos de origem que o ADF verifica como sua origem. O comportamento padrão do ADF é descobrir o esquema de cada arquivo de origem. Mas se você tiver uma projeção predefinida já armazenada em sua transformação de origem, poderá defini-la como true e o ADF ignorará a descoberta automática de cada esquema. Com essa opção ativada, a transformação de origem pode ler todos os arquivos de maneira muito mais rápida, aplicando o esquema predefinido a cada arquivo.
  • Permitir desvio de esquema: ative o desvio de esquema para que o fluxo de dados permita novas colunas que ainda não estão definidas no esquema de origem.
  • Validar esquema: definir essa opção faz com que o fluxo de dados falhe se qualquer coluna e tipo definido na projeção não corresponder ao esquema descoberto dos dados de origem.
  • Inferir tipos de colunas derivadas: Quando novas colunas derivadas são identificadas pelo ADF, essas novas colunas são convertidas para o tipo de dados apropriado usando a inferência automática de tipo do ADF.

Captura de tela que mostra Inline selecionado.

Banco de dados do espaço de trabalho (somente espaços de trabalho Synapse)

Nos espaços de trabalho do Azure Synapse, uma opção adicional está presente nas transformações de fonte de fluxo de dados chamadas Workspace DB. Isso permite que você escolha diretamente um banco de dados de espaço de trabalho de qualquer tipo disponível como seus dados de origem sem exigir serviços vinculados ou conjuntos de dados adicionais. Os bancos de dados criados por meio dos modelos de banco de dados do Azure Synapse também são acessíveis quando você seleciona Banco de Dados de Espaço de Trabalho.

Captura de tela que mostra workspacedb selecionado.

Tipos de fonte suportados

O fluxo de dados de mapeamento segue uma abordagem ELT (extração, carga e transformação) e funciona com conjuntos de dados de preparo que estão todos no Azure. Atualmente, os seguintes conjuntos de dados podem ser usados em uma transformação de origem.

Conector Formato Conjunto de dados/embutido
Amazon S3 Avro
Texto delimitado
Delta
Excel
JSON
ORC
Parquet
XML
✓/✓
✓/✓
✓/✓
✓/✓
✓/✓
✓/✓
✓/✓
✓/✓
Appfigures (Pré-visualização) -/✓
Asana (Pré-visualização) -/✓
Armazenamento de Blobs do Azure Avro
Texto delimitado
Delta
Excel
JSON
ORC
Parquet
XML
✓/✓
✓/✓
✓/✓
✓/✓
✓/✓
✓/✓
✓/✓
✓/✓
Azure Cosmos DB para NoSQL ✓/-
Armazenamento do Azure Data Lake Ger1 Avro
Texto delimitado
Excel
JSON
ORC
Parquet
XML
✓/✓
✓/✓
✓/✓
✓/✓
✓/✓
✓/✓
✓/✓
Azure Data Lake Storage Gen2 (Armazenamento do Azure Data Lake Gen2) Avro
Common Data Model
Texto delimitado
Delta
Excel
JSON
ORC
Parquet
XML
✓/✓
-/✓
✓/✓
✓/✓
✓/✓
✓/✓
✓/✓
✓/✓
✓/✓
Base de Dados do Azure para MySQL ✓/✓
Base de Dados do Azure para PostgreSQL ✓/✓
Azure Data Explorer ✓/✓
Base de Dados SQL do Azure ✓/✓
Instância Gerida do SQL no Azure ✓/✓
Azure Synapse Analytics ✓/✓
data.world (Pré-visualização) -/✓
Dataverse ✓/✓
Dynamics 365 ✓/✓
Dynamics CRM ✓/✓
Folhas de cálculo do Google (Pré-visualização) -/✓
Hive -/✓
Quickbase (Pré-visualização) -/✓
SFTP Avro
Texto delimitado
Excel
JSON
ORC
Parquet
XML
✓/✓
✓/✓
✓/✓
✓/✓
✓/✓
✓/✓
✓/✓
Smartsheet (Pré-visualização) -/✓
Snowflake ✓/✓
SQL Server ✓/✓
REST ✓/✓
TeamDesk (Pré-visualização) -/✓
Twilio (Pré-visualização) -/✓
Zendesk (Pré-visualização) -/✓

As configurações específicas desses conectores estão localizadas na guia Opções de origem . Exemplos de script de fluxo de dados e informações sobre essas configurações estão localizados na documentação do conector.

Os pipelines do Azure Data Factory e Synapse têm acesso a mais de 90 conectores nativos. Para incluir dados dessas outras fontes em seu fluxo de dados, use a Atividade de cópia para carregar esses dados em uma das áreas de preparo suportadas.

Definições de origem

Depois de adicionar uma fonte, configure através da guia Configurações da fonte . Aqui você pode escolher ou criar o conjunto de dados em que seus pontos de origem. Você também pode selecionar opções de esquema e amostragem para seus dados.

Os valores de desenvolvimento para parâmetros de conjunto de dados podem ser configurados em configurações de depuração. (O modo de depuração deve estar ativado.)

Captura de tela que mostra a guia Configurações de origem.

Nome do fluxo de saída: o nome da transformação de origem.

Tipo de origem: escolha se deseja usar um conjunto de dados embutido ou um objeto de conjunto de dados existente.

Testar conexão: teste se o serviço Spark do fluxo de dados pode ou não se conectar com êxito ao serviço vinculado usado no conjunto de dados de origem. O modo de depuração deve estar ativado para que esse recurso seja habilitado.

Desvio de esquema: desvio de esquema é a capacidade do serviço de lidar nativamente com esquemas flexíveis em seus fluxos de dados sem a necessidade de definir explicitamente as alterações de coluna.

  • Marque a caixa de seleção Permitir desvio de esquema se as colunas de origem forem alteradas com frequência. Essa configuração permite que todos os campos de origem de entrada fluam através das transformações para o coletor.

  • Selecionar Inferir tipos de coluna desviados instrui o serviço a detetar e definir tipos de dados para cada nova coluna descoberta. Com esse recurso desativado, todas as colunas derivadas são do tipo string.

Validar esquema: Se a opção Validar esquema estiver selecionada, o fluxo de dados não será executado se os dados de origem de entrada não corresponderem ao esquema definido do conjunto de dados.

Contagem de linhas ignoradas: o campo Contagem de linhas de pulo especifica quantas linhas devem ser ignoradas no início do conjunto de dados.

Amostragem: habilite a Amostragem para limitar o número de linhas da sua origem. Use essa configuração ao testar ou fazer uma amostra de dados de sua fonte para fins de depuração. Isso é muito útil ao executar fluxos de dados no modo de depuração de um pipeline.

Para validar que sua fonte está configurada corretamente, ative o modo de depuração e busque uma visualização de dados. Para obter mais informações, consulte Modo de depuração.

Nota

Quando o modo de depuração está ativado, a configuração de limite de linha nas configurações de depuração substitui a configuração de amostragem na origem durante a visualização de dados.

Opções de origem

A guia Opções de origem contém configurações específicas para o conector e o formato escolhido. Para obter mais informações e exemplos, consulte a documentação relevante do conector. Isso inclui detalhes como o nível de isolamento para as fontes de dados que oferecem suporte a ele (como SQL Servers locais, Bancos de Dados SQL do Azure e instâncias gerenciadas do SQL do Azure) e outras configurações específicas da fonte de dados também.

Projeção

Como esquemas em conjuntos de dados, a projeção em uma fonte define as colunas, tipos e formatos de dados dos dados de origem. Para a maioria dos tipos de conjuntos de dados, como SQL e Parquet, a projeção em uma fonte é fixa para refletir o esquema definido em um conjunto de dados. Quando os arquivos de origem não são fortemente tipados (por exemplo, arquivos .csv simples em vez de arquivos Parquet), você pode definir os tipos de dados para cada campo na transformação de origem.

Captura de ecrã que mostra as definições no separador Projeção.

Se o arquivo de texto não tiver um esquema definido, selecione Detetar tipo de dados para que o serviço faça amostras e infera os tipos de dados. Selecione Definir formato padrão para detetar automaticamente os formatos de dados padrão.

Redefinir esquema redefine a projeção para o que está definido no conjunto de dados referenciado.

O esquema de substituição permite modificar os tipos de dados projetados aqui na fonte, substituindo os tipos de dados definidos pelo esquema. Como alternativa, você pode modificar os tipos de dados de coluna em uma transformação de coluna derivada a jusante. Use uma transformação select para modificar os nomes das colunas.

Esquema de importação

Selecione o botão Importar esquema na guia Projeção para usar um cluster de depuração ativo para criar uma projeção de esquema. Está disponível em todos os tipos de fontes. A importação do esquema aqui substitui a projeção definida no conjunto de dados. O objeto do conjunto de dados não será alterado.

A importação de esquema é útil em conjuntos de dados como Avro e Azure Cosmos DB que dão suporte a estruturas de dados complexas que não exigem definições de esquema para existir no conjunto de dados. Para conjuntos de dados embutidos, a importação de esquema é a única maneira de fazer referência a metadados de coluna sem desvio de esquema.

Otimize a transformação da origem

A guia Otimizar permite a edição de informações de partição em cada etapa de transformação. Na maioria dos casos, Usar particionamento atual otimiza para a estrutura de particionamento ideal para uma fonte.

Se você estiver lendo a partir de uma fonte do Banco de Dados SQL do Azure, o particionamento de Origem personalizado provavelmente lê os dados mais rapidamente. O serviço lê consultas grandes fazendo conexões com seu banco de dados em paralelo. Esse particionamento de origem pode ser feito em uma coluna ou usando uma consulta.

Captura de tela que mostra as configurações da partição de origem.

Para obter mais informações sobre otimização no fluxo de dados de mapeamento, consulte a guia Otimizar.

Comece a criar seu fluxo de dados com uma transformação de coluna derivada e uma transformação selecionada.