Partilhar via


Dataflow Gen2 destinos de dados e configurações gerenciadas

Depois de limpar e preparar seus dados com o Dataflow Gen2, convém salvá-los em algum lugar útil. O Dataflow Gen2 permite escolher entre vários destinos, como Azure SQL, Fabric Lakehouse e outros. Depois de escolher um destino, o Dataflow Gen2 grava seus dados lá, e você pode usá-los para análise e relatórios.

A lista a seguir contém os destinos de dados suportados:

  • Bancos de dados SQL do Azure
  • Azure Data Explorer (Kusto)
  • Azure Datalake Gen2 (visualização)
  • Mesas Lakehouse de tecido
  • Arquivos Fabric Lakehouse (pré-visualização)
  • Armazém de Tecidos
  • Banco de dados KQL de malha
  • Banco de dados SQL de malha
  • Arquivos do SharePoint

Nota

Para carregar seus dados no Fabric Warehouse, você pode usar o conector do Azure Synapse Analytics (SQL DW) obtendo a cadeia de conexão SQL. Para obter informações adicionais: Conectividade com data warehousing no Microsoft Fabric

Pontos de entrada

Cada consulta de dados em seu Dataflow Gen2 pode ter um destino de dados. Você só pode aplicar destinos a consultas tabulares — funções e listas não são suportadas. Você pode definir o destino dos dados para cada consulta individualmente e pode usar destinos diferentes dentro do mesmo fluxo de dados.

Há três maneiras de configurar o destino dos dados:

  • Através da faixa de opções superior.

    Captura de ecrã do friso do separador Base do Power Query com o objetivo Adicionar dados realçado.

  • Através 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.

  • Através da vista de diagrama.

    Captura de ecrã de uma consulta na vista de diagrama com o ícone adicionar destinos realçado e a lista de destinos apresentada.

Conectar-se ao destino dos dados

Conectar-se ao destino de dados funciona como conectar-se a uma fonte de dados. Você pode usar conexões para ler e gravar seus dados, desde que tenha as permissões corretas na fonte de dados. Terá de criar uma nova ligação ou escolher uma existente e, em seguida, selecionar Seguinte.

Captura de tela da janela Conectar ao destino de dados para um destino Lakehouse.

Configurar destinos baseados em ficheiros

Ao escolher um destino baseado em arquivo (por exemplo, SharePoint), você precisará definir algumas configurações. Aqui está o que você precisa definir:

  • Nome do arquivo: o nome do arquivo que é criado no destino. Por padrão, o nome do arquivo corresponde ao nome da consulta.
  • Formato de arquivo: O formato do arquivo que é criado no destino.
  • Origem do arquivo: a codificação usada para criar o arquivo no destino. Por padrão, isso é definido como UTF-8.
  • Delimitador de arquivo: o delimitador que é usado para criar o arquivo no destino. Por padrão, isso é definido como Vírgula.

Captura de ecrã da janela Definições de destino do ficheiro com as definições de nome de ficheiro, formato de ficheiro, origem do ficheiro e delimitador de ficheiros apresentadas.

Criar uma nova tabela ou escolher uma tabela existente

Ao carregar em seu destino de dados, você pode criar uma nova tabela ou escolher uma existente.

Criar uma nova tabela

Quando você opta por criar uma nova tabela, o Dataflow Gen2 cria uma nova tabela em seu destino de dados durante a atualização. Se a tabela for excluída posteriormente (se você entrar manualmente no destino e excluí-la), o fluxo de dados recriará a tabela durante a próxima atualização.

Por padrão, o nome da tabela corresponde ao nome da consulta. Se o nome da tabela tiver caracteres que o destino não suporta, o nome da tabela será ajustado automaticamente. Por exemplo, muitos destinos não suportam espaços ou caracteres especiais.

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

Em seguida, você precisa selecionar o contêiner de destino. Se você escolher qualquer um dos destinos de dados de malha, poderá usar o navegador para selecionar o item de malha onde 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 a alternância na parte superior do navegador. Ao escolher uma tabela existente, necessita selecionar o item/banco de dados Fabric e a tabela usando o navegador.

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

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

Arquivos ou tabelas Lakehouse

Para Lakehouse você tem a opção de criar arquivos ou tabelas em sua lakehouse. Isso é único, pois a maioria dos destinos suporta apenas um ou outro. Isso permite mais flexibilidade na forma como você estrutura seus dados em sua casa do lago.

Para alternar entre ficheiros e tabelas, pode usar a opção de alternar ao navegar pelo seu lakehouse.

Captura de ecrã que realça o interruptor de alternância para o modo de ficheiro.

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 configurações automáticas, o Dataflow Gen2 gerenciará o mapeamento para você. Veja o que as configurações automáticas fazem:

  • Substituição do método de atualização: os dados são substituídos a cada atualização do 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 em seu fluxo de dados, o que facilita as alterações de esquema quando você republica o fluxo de dados.

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

Nota

Atualmente, as configurações automáticas são suportadas apenas para Lakehouse e Banco de Dados SQL do Azure como destino de dados.

Captura de ecrã da janela Escolher definições de destino com a opção Utilizar definições automáticas selecionada.

Configurações manuais

Ao desativar Usar configurações automáticas, você tem controle total sobre como carregar seus dados no destino dos dados. Você pode fazer alterações no mapeamento de colunas 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 suporta anexar e substituir como métodos de atualização. No entanto, os bancos de dados KQL de malha 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 acrescentados 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 é substituído. Quando você acrescenta dados, as alterações no esquema não são possíveis.

  • Esquema dinâmico: ao escolher o esquema dinâmico, você permite alterações de esquema no destino dos dados quando republica o fluxo de dados. Como você não está usando o mapeamento gerenciado, ainda precisará atualizar o mapeamento de coluna no assistente de destino de fluxo de dados quando fizer alterações na consulta. Quando uma atualização deteta uma diferença entre o esquema de destino e o esquema esperado, a tabela é descartada e, em seguida, recriada para se alinhar com o esquema esperado. A atualização do fluxo de dados pode causar a remoção de relações ou medidas que foram adicionadas anteriormente à sua tabela.

  • Esquema fixo: Quando você escolhe o esquema fixo, as alterações de esquema não são possíveis. Quando o fluxo de dados é atualizado, apenas as linhas da tabela são descartadas e substituídas pelos dados de saída do fluxo de dados. Quaisquer relações ou medidas sobre a mesa permanecem intactas. Se você fizer alterações na consulta no fluxo de dados, a publicação do fluxo de dados falhará se detetar que o esquema de consulta não corresponde ao esquema de destino de dados. Use essa configuração quando não planeja alterar o esquema e ter relações ou medidas adicionadas à sua tabela de destino.

Nota

Ao carregar dados no armazém, apenas o esquema fixo é suportado.

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

Parametrização

Os parâmetros são um recurso central dentro do Dataflow Gen2. Depois que um parâmetro é criado ou você usa a configuração Sempre permitir , um widget de entrada fica disponível para definir a tabela ou o nome do arquivo para o seu destino.

Captura de tela da experiência de destino de dados em que o nome da tabela está usando um parâmetro chamado

Nota

Os parâmetros no destino dos dados também podem ser aplicados diretamente através do script M criado para as consultas relacionadas a ele. Você pode alterar manualmente o script de suas consultas de destino de dados para aplicar os parâmetros para atender às suas necessidades. No entanto, a interface do usuário atualmente só suporta parametrização para o campo de nome de tabela ou arquivo.

Script de mashup para consultas de destino de dados

Ao usar o recurso de destino de dados, as configurações definidas para carregar os dados para o seu destino são definidas no documento de mashup do seu Dataflow. O aplicativo Dataflow cria fundamentalmente dois componentes:

  • Uma consulta que contém as etapas de navegação para o seu destino. Segue o padrão do nome da consulta inicial com um sufixo _DataDestination. Por exemplo:
shared #"Orders by Region_DataDestination" = let
  Pattern = Lakehouse.Contents([CreateNavigationProperties = false, EnableFolding = false]),
  Navigation_1 = Pattern{[workspaceId = "cfafbeb1-8037-4d0c-896e-a46fb27ff229"]}[Data],
  Navigation_2 = Navigation_1{[lakehouseId = "b218778-e7a5-4d73-8187-f10824047715"]}[Data],
  TableNavigation = Navigation_2{[Id = "Orders by Region", ItemKind = "Table"]}?[Data]?
in
  TableNavigation;
  • Um registro de atributo DataDestinations para a consulta que contém a lógica a ser usada para como carregar dados para o seu destino. O registo tem um ponteiro para a consulta que contém as etapas de navegação para o destino e as configurações gerais, como métodos de atualização, opções de esquema e qual é o tipo de destino, por exemplo, uma tabela ou outro tipo. Por exemplo:
[DataDestinations = {[Definition = [Kind = "Reference", QueryName = "Orders by Region_DataDestination", IsNewTarget = true], Settings = [Kind = "Automatic", TypeSettings = [Kind = "Table"]]]}]

Essas partes de scripts M não são visíveis dentro do aplicativo Dataflow, mas você pode acessar essas informações através de:

Tipos de fonte de dados suportados por destino

Tipos de dados suportados por local de armazenamento DataflowStagingLakehouse Saída do Azure DB (SQL) Saída do Azure Data Explorer Saída Fabric Lakehouse (LH) Saída de armazém de tecido (WH) Saída do Banco de Dados SQL de Malha (SQL)
Ação Não Não Não Não Não Não
Qualquer Não Não Não Não Não Não
Binário Não Não Não Não Não Não
Moeda Sim Sim Sim Sim Não Sim
Zona de Data e Hora Sim Sim Sim Não Não Sim
Duração Não Não Sim Não Não Não
Função Não Não Não Não Não Não
Nenhuma Não Não Não Não Não Não
Nulo Não Não Não Não Não Não
Hora Sim Sim Não Não Não Sim
Tipo Não Não Não Não Não Não
Estruturado (Lista, Registo, Tabela) Não Não Não Não Não Não

Ao trabalhar com tipos de dados, como moeda ou porcentagem, normalmente os convertemos em seus equivalentes decimais para a maioria dos destinos. No entanto, ao se reconectar a esses destinos e seguir o caminho da tabela existente, você pode encontrar dificuldades para mapear, por exemplo, moeda para uma coluna decimal. Nesses casos, tente alterar o tipo de dados no editor para decimal, pois isso facilitará o mapeamento para a tabela e coluna existentes.

Tópicos avançados

Usando o preparo antes de carregar para um destino

Para melhorar o desempenho do processamento de consultas, a encenação pode ser usada no Dataflow Gen2 para utilizar a computação Fabric e executar as suas consultas.

Quando o estágio é habilitado nas suas consultas (o comportamento padrão), os seus dados são carregados no local de estágio, que é um Lakehouse interno acessível apenas pelos próprios fluxos de dados.

O uso de locais de preparação pode melhorar o desempenho em alguns casos, quando transferir a consulta para o ponto de análise SQL é mais rápido do que o processamento na memória.

Quando se carrega dados no Lakehouse ou em outros destinos que não sejam armazém, desativamos o recurso de estágio por padrão para melhorar o desempenho. Ao carregar dados no destino de dados, estes são gravados diretamente, sem utilizar uma etapa intermediária. Se quiser usar o preparo para sua consulta, você pode habilitá-lo novamente.

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

Captura de ecrã do menu pendente de consulta com Ativar preparo enfatizado.

Carregando dados no Armazém

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

Quando o preparo está desativado e você escolhe Depósito como destino de saída, você recebe um aviso para habilitar o preparo primeiro antes de configurar o destino dos dados.

Captura de ecrã do aviso Adicionar destino de dados.

Se você já tiver um depósito como destino e tentar desativar a preparação, um aviso será exibido. Você pode remover o depósito como destino ou descartar a ação de preparação.

Captura de ecrã do aviso Ativar preparação.

Suporte de esquema para Lakehouse, Warehouse e bases de dados SQL (pré-visualização)

Os bancos de dados Lakehouse, Warehouse e SQL no Microsoft Fabric oferecem suporte à capacidade de criar um esquema para seus dados. Isso significa que você pode estruturar seus dados de uma forma que facilite o gerenciamento e a consulta. Para poder escrever em esquemas nesses destinos, você precisa habilitar a opção Navegar usando hierarquia completa em opções avançadas ao configurar sua conexão. Se você não habilitar essa opção, não poderá selecionar ou visualizar os esquemas no destino. Uma limitação de visualização para habilitar Navegar usando hierarquia completa é que a cópia rápida pode não funcionar corretamente. Para usar esse recurso em combinação com um gateway, precisamos de pelo menos 3000.290 versão do gateway.

Captura de tela realçando a opção Ativar suporte a esquema.

Aspirando seu destino de dados Lakehouse

Ao usar o Lakehouse como destino para o Dataflow Gen2 no Microsoft Fabric, é importante realizar manutenção regular para manter o desempenho ideal e o gerenciamento eficiente do armazenamento. Uma tarefa de manutenção essencial é aspirar o destino dos seus dados. Esse processo ajuda a remover arquivos antigos que não são mais referenciados pelo log de tabela Delta, o que otimiza os custos de armazenamento e mantém 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 seus dados, evitando possíveis problemas com arquivos não confirmados que podem levar a falhas de leitura ou corrupção de tabelas.

Como aspirar o destino dos seus dados

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

  1. Navegue até sua Lakehouse: Na sua conta do Microsoft Fabric, vá para a Lakehouse desejada.
  2. Manutenção da tabela de acesso: No Lakehouse explorer, 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 do menu Manutenção e selecione a opção Vácuo .
  4. Execute o comando vacuum: defina o limite de retenção (o padrão é sete dias) e execute o comando vacuum selecionando Executar agora.

Melhores práticas

  • 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 aspiradores regulares como parte de sua rotina de manutenção de dados para manter suas tabelas Delta otimizadas e prontas para análises.
  • Atualizações incrementais: se você estiver usando atualizações incrementais, certifique-se de que a aspiração esteja desativada, pois pode interferir no processo de atualização incremental.

Ao incorporar o vácuo 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 em Lakehouse, consulte a documentação de manutenção de tabelas Delta.

Pode ser nulo

Em alguns casos, quando você tem uma coluna anulável, ela é detetada pelo Power Query como não anulável e, ao gravar no destino dos 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 escalonamento de tipos de dados

Em alguns casos, o tipo de dados dentro do 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 dos dados:

Destino Tipo de dados de fluxo de dados Tipo de dados de destino
Armazém de Tecidos Int8.Type Int16.Type