Compartilhar via


Destinos de dados do Dataflow Gen2 e configurações gerenciadas

Depois de limpar e preparar seus dados com o Dataflow Gen2, você deseja colocar seus dados em um destino. Você pode fazer isso usando os recursos de destino de dados no Dataflow Gen2. Com esse recurso, você pode escolher entre diferentes destinos, como Azure SQL, Fabric Lakehouse e muito mais. O Dataflow Gen2 grava seus dados no destino e, partindo desse ponto, você pode usá-los para análises e relatórios adicionais.

A lista a seguir contém os destinos de dados com suporte.

  • Bancos de Dados SQL do Azure
  • Azure Data Explorer (Kusto)
  • Fabric Lakehouse
  • Fabric Warehouse
  • Banco de dados KQL no Fabric
  • Banco de dados SQL do Fabric

Pontos de entrada

Cada consulta de dados em seu Dataflow Gen2 pode ter um destino de dados. Funções e listas não têm suporte; você só pode aplicá-lo a consultas de tabela. Você pode especificar o destino dos dados para cada consulta individualmente e pode usar vários destinos diferentes dentro do fluxo de dados.

Há três pontos de entrada principais para especificar o destino dos dados:

  • por meio da faixa de opções superior.

    Captura de tela da guia Página inicial na parte superior do Power Query com Adicionar destino de dados enfatizado.

  • por meio de configurações de consulta.

    Captura de tela do painel Configurações de consulta com o botão Destino de dados enfatizado e a lista de destinos exibida.

  • por meio da exibição de diagrama.

    Captura de tela de uma consulta no modo de exibição de diagrama com o ícone Adicionar destinos enfatizado e a lista de destinos exibida.

Conectar-se ao destino dos dados

Conectar-se ao destino de dados é semelhante à conexão com uma fonte de dados. As conexões podem ser usadas para ler e gravar seus dados, desde que você tenha as permissões corretas na fonte de dados. Você precisa criar uma nova conexão ou escolher uma conexão existente e selecionar Avançar.

Captura de tela da janela Conectar-se ao destino dos dados para um destino do Lakehouse.

Abra uma tabela existente ou crie uma.

Ao carregar no destino dos dados, você pode criar uma tabela ou escolher uma existente.

Criar uma tabela

Quando você opta por criar uma tabela, durante a atualização do Dataflow Gen2, uma tabela é criada no destino dos dados. Se a tabela for excluída no futuro indo manualmente para o destino, o fluxo de dados recriará a tabela durante a próxima atualização do fluxo de dados.

Por padrão, o nome da tabela é igual ao da consulta. Se houver caracteres inválidos no nome da tabela que o destino não suporta, o nome da tabela será ajustado automaticamente. Por exemplo, muitos destinos não oferecem suporte a espaços nem a caracteres especiais.

Captura de tela da janela Escolher destino com o botão Nova tabela selecionado.

Em seguida, você deve selecionar o contêiner de destino. Se você escolher qualquer um dos destinos de dados do Fabric, poderá usar o navegador para selecionar o artefato do Fabric no qual deseja carregar seus dados. Para destinos do Azure, você pode especificar o banco de dados durante a criação da conexão ou selecionar o banco de dados na experiência do navegador.

Usar uma tabela existente

Para escolher uma tabela existente, use o comando de alternância na parte superior do navegador. Ao escolher uma tabela existente, você precisa selecionar o artefato/banco de dados do Fabric e a tabela usando o navegador.

Quando você usa uma tabela existente, ela não pode ser recriada em nenhum cenário. Se você excluir a tabela manualmente do destino de dados, o Dataflow Gen2 não a recriará na próxima atualização.

Captura de tela da janela Escolher destino com o botão Tabela existente selecionado.

Configurações gerenciadas para novas tabelas

Quando você está carregando em uma nova tabela, as configurações automáticas são ativadas por padrão. Se você usar as configurações automáticas, o Dataflow Gen2 gerenciará o mapeamento para você. As configurações automáticas propiciam o seguinte comportamento:

  • Substituição pelo método de atualização: os dados são substituídos a cada atualização de fluxo de dados. Todos os dados no destino são removidos. Os dados no destino são substituídos pelos dados de saída do fluxo de dados.

  • Mapeamento gerenciado: o mapeamento é gerenciado para você. Quando você precisa fazer alterações em seus dados/consulta para adicionar outra coluna ou alterar um tipo de dados, o mapeamento é ajustado automaticamente para essa alteração quando você republica seu fluxo de dados. Você não precisa entrar na experiência de destino de dados toda vez que fizer alterações no fluxo de dados, permitindo alterações fáceis no esquema ao republicar o fluxo de dados.

  • Descartar e recriar tabela: para permitir essas alterações de esquema, em cada atualização de fluxo de dados, a tabela é descartada e recriada. A renovação do fluxo de dados pode causar a remoção de relacionamentos ou medidas que foram adicionadas anteriormente à tabela.

Observação

Atualmente, a configuração automática só tem suporte para o Lakehouse e o banco de dados SQL do Azure como destino de dados.

Captura de tela da janela Escolher configurações de destino com a opção Usar configurações automáticas selecionada.

Configurações manuais

Ao desativar a opção Usar configurações automáticas, você obtém controle total sobre como carregar seus dados no destino dos dados. Você pode fazer alterações no mapeamento de coluna alterando o tipo de origem ou excluindo qualquer coluna que não seja necessária no destino dos dados.

Captura de tela da janela Escolher configurações de destino com as opções Usar configurações automáticas desmarcadas e as várias configurações manuais exibidas.

Métodos de atualização

A maioria dos destinos oferece suporte ao acréscimo e à substituição como métodos de atualização. No entanto, os bancos de dados KQL do Fabric e o Azure Data Explorer não oferecem suporte à substituição como um método de atualização.

  • Substituir: em cada atualização de fluxo de dados, seus dados são descartados do destino e substituídos pelos dados de saída do fluxo de dados.

  • Acrescentar: em cada atualização de fluxo de dados, os dados de saída do fluxo de dados são anexados aos dados existentes na tabela de destino de dados.

Opções de esquema na publicação

As opções de esquema na publicação só se aplicam quando o método de atualização é a substituição. Quando você acrescenta dados, não é possível fazer alterações no esquema.

  • Esquema dinâmico: ao escolher o esquema dinâmico, você permite alterações de esquema no destino dos dados ao republicar o fluxo de dados. Como você não está usando o mapeamento gerenciado, ainda precisará atualizar o mapeamento de coluna no fluxo de destino do fluxo de dados quando fizer alterações na consulta. Quando o fluxo de dados é atualizado, sua tabela é descartada e recriada. A renovação do fluxo de dados pode causar a remoção de relacionamentos ou medidas que foram adicionadas anteriormente à tabela.

  • Esquema fixo: quando você escolhe o esquema fixo, não é possível fazer alterações de esquema. Quando o fluxo de dados é atualizado, somente as linhas na tabela são descartadas e substituídas pelos dados de saída do fluxo de dados. Quaisquer relacionamentos ou medidas na tabela permanecem intactas. Se você fizer alterações na consulta no fluxo de dados, a publicação do fluxo de dados falhará se detectar que o esquema de consulta não corresponde ao esquema de destino de dados. Use essa configuração quando não estiver planejando alterar o esquema e adicionar relacionamentos ou medidas à tabela de destino.

Observação

Ao carregar dados no warehouse, só há suporte para o esquema fixo.

Captura de tela da opção Opções de esquema na publicação, com a opção Esquema fixo selecionada.

Tipos de fonte de dados com suporte por destino

Tipos de dados com suporte por local de armazenamento DataflowStagingLakehouse Saída do BD do Azure (SQL) Saída do Azure Data Explorer Saída do Fabric Lakehouse (LH) Saída do Fabric Warehouse (WH) Saída do Banco de Dados SQL (SQL) do Fabric
Ação Não No No No No Não
Qualquer Não No No No No No
Binário Não No No No No Número
Moeda Sim Sim Sim Sim Não Sim
DateTimeZone Sim Sim Sim Não No Sim
Duration Não No Sim Não No No
Função Não No No No No Não
Nenhum Não No No No No No
Nulo Não No No No No Não
Hora Sim Sim Não No No Sim
Tipo Não No No No No No
Estruturado (Lista, Registro, Tabela) Não No No No No No

Tópicos avançados

Usando o preparo antes de carregar para um destino

Para melhorar o desempenho do processamento de consultas, o preparo pode ser usado no Dataflow Gen2 para usar a computação do Fabric para executar suas consultas.

Quando a preparação está habilitada em suas consultas (o comportamento padrão), os dados são carregados no local de preparo, que é um Lakehouse interno acessível apenas pelos fluxos de dados propriamente ditos.

O uso de locais de preparo pode melhorar o desempenho em alguns casos em que dobrar a consulta para o ponto de extremidade de análise do SQL é mais rápido do que no processamento de memória.

Quando você está carregando dados no Lakehouse ou em outros destinos que não são do depósito, por padrão, desabilitamos o recurso de preparo para melhorar o desempenho. Quando você carrega dados no destino de dados, os dados são gravados diretamente no destino de dados sem usar preparo. Se quiser usar o preparo para sua consulta, poderá habilitá-lo novamente.

Para habilitar o preparo, clique com o botão direito do mouse na consulta e habilite a preparo selecionando o botão Habilitar preparo. Sua consulta então fica azul.

Captura de tela do menu suspenso da consulta com Habilitar preparo enfatizado.

Carregar os dados no Warehouse

Quando você carrega dados no Warehouse, o preparo é necessário antes da operação de gravação no destino dos dados. Esse requisito melhora o desempenho. Atualmente, só há suporte para o carregamento no mesmo espaço de trabalho do fluxo de dados. Verifique se o preparo está habilitado para todas as consultas que são carregadas no warehouse.

Quando o preparo estiver desabilitado e você escolher Warehouse como o destino de saída, você receberá um aviso para habilitar o preparo primeiro para que possa configurar o destino de dados.

Captura de tela do aviso Adicionar destino dos dados.

Se já houver um depósito como destino e você tentar desabilitar o preparo, um aviso será exibido. Você pode remover o warehouse como destino ou ignorar a ação de preparo.

Captura de tela do aviso Habilitar preparo.

Limpando seu destino de dados do Lakehouse

Ao usar o Lakehouse como destino para o Dataflow Gen2 no Microsoft Fabric, é crucial realizar manutenção regular para garantir o desempenho ideal e o gerenciamento eficiente do armazenamento. Uma tarefa de manutenção essencial é limpar o destino dos dados. Esse processo ajuda a remover arquivos antigos que não são mais referenciados pelo log da tabela Delta, otimizando assim os custos de armazenamento e mantendo a integridade dos dados.

Por que aspirar é importante

  1. Otimização de armazenamento: com o tempo, as tabelas delta acumulam arquivos antigos que não são mais necessários. A aspiração ajuda a limpar esses arquivos, liberando espaço de armazenamento e reduzindo custos.
  2. Melhoria de desempenho: a remoção de arquivos desnecessários pode melhorar o desempenho da consulta, reduzindo o número de arquivos que precisam ser verificados durante as operações de leitura.
  3. Integridade dos dados: garantir que apenas os arquivos relevantes sejam retidos ajuda a manter a integridade dos dados, evitando possíveis problemas com arquivos não confirmados que podem levar a falhas do leitor ou corrupção da tabela.

Como limpar seu destino de dados

Para aspirar suas mesas Delta no Lakehouse, siga estas etapas:

  1. Navegue até o Lakehouse: Na sua conta do Microsoft Fabric, vá para o Lakehouse desejado.
  2. Acessar a manutenção da tabela: No explorador do Lakehouse, clique com o botão direito do mouse na tabela que deseja manter ou use as reticências para acessar o menu contextual.
  3. Selecione as opções de manutenção: Escolha a entrada de menu Manutenção e selecione a opção Vácuo.
  4. Execute o comando vacum: defina o limite de retenção (o padrão é sete dias) e execute o comando vacuum selecionando Executar agora.

Práticas recomendadas

  • Período de retenção: defina um intervalo de retenção de pelo menos sete dias para garantir que instantâneos antigos e arquivos não confirmados não sejam removidos prematuramente, o que pode interromper leitores e gravadores de tabelas simultâneos.
  • Manutenção regular: agende a limpeza regular como parte de sua rotina de manutenção de dados para manter suas tabelas Delta otimizadas e prontas para análise.

Ao incorporar a limpeza em sua estratégia de manutenção de dados, você pode garantir que seu destino Lakehouse permaneça eficiente, econômico e confiável para suas operações de fluxo de dados.

Para obter informações mais detalhadas sobre a manutenção de tabelas no Lakehouse, consulte a documentação de manutenção de tabelas Delta.

Permite valor nulo

Em alguns casos, quando você tem uma coluna anulável, ela é detectada pelo Power Query como não anulável e, ao gravar no destino de dados, o tipo de coluna é não anulável. Durante a atualização, ocorre o seguinte erro:

E104100 Couldn't refresh entity because of an issue with the mashup document MashupException.Error: DataFormat.Error: Error in replacing table's content with new data in a version: #{0}., InnerException: We can't insert null data into a non-nullable column., Underlying error: We can't insert null data into a non-nullable column. Details: Reason = DataFormat.Error;Message = We can't insert null data into a non-nullable column.; Message.Format = we can't insert null data into a non-nullable column.

Para forçar colunas anuláveis, você pode tentar as seguintes etapas:

  1. Exclua a tabela do destino dos dados.

  2. Remova o destino dos dados do fluxo de dados.

  3. Vá para o fluxo de dados e atualize os tipos de dados usando o seguinte código do Power Query:

    Table.TransformColumnTypes(
       #"PREVIOUS STEP", {
          {"COLLUMNNAME1", type nullable text}, 
          {"COLLUMNNAME2", type nullable Int64.Type}
       }
    ) 
    
  4. Adicione o destino dos dados.

Conversão e upscaling de tipos de dados

Em alguns casos, o tipo de dados no fluxo de dados difere do que é suportado no destino de dados abaixo estão algumas conversões padrão que implementamos para garantir que você ainda possa obter seus dados no destino de dados:

Destino Tipo de dados de fluxo de dados Tipo de dados de destino
Fabric Warehouse Int8.Type Int16.Type