Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Depois de limpar e preparar seus dados com o Dataflow Gen2, você desejará salvá-los em algum lugar útil. O Dataflow Gen2 permite que você escolha entre vários destinos, como SQL do Azure, 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ório.
A lista a seguir contém os destinos de dados com suporte:
- Bancos de Dados SQL do Azure
- Azure Data Explorer (Kusto)
- Azure Datalake Gen2 (versão prévia)
- Tabelas do Fabric Lakehouse
- Fabric Lakehouse Files (versão prévia)
- Fabric Warehouse
- Banco de dados KQL no Fabric
- Banco de dados SQL do Fabric
- Arquivos do SharePoint
Observação
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. Mais informações: Conectividade com o 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— não há suporte para funções e listas. Você pode definir o destino de dados para cada consulta individualmente e pode usar destinos diferentes no mesmo fluxo de dados.
Há três maneiras de configurar o destino de dados:
por meio da faixa de opções superior.
por meio de configurações de consulta.
por meio da exibição de diagrama.
Conectar-se ao destino dos dados
Conectar-se ao destino de dados funciona como se conectar 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. Você precisará criar uma nova conexão ou escolher uma existente e selecionar Avançar.
Configurar destinos baseados em arquivo
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 do 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 é configurado como Comma.
Abra uma tabela existente ou crie uma.
Ao carregar em seu destino de dados, você pode criar uma nova tabela ou escolher uma existente.
Criar uma 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 oferece suporte, o nome da tabela será ajustado automaticamente. Por exemplo, muitos destinos não oferecem suporte a espaços nem a caracteres especiais.
Em seguida, você precisa selecionar o contêiner de destino. Se você escolheu qualquer um dos destinos de dados do Fabric, poderá usar o navegador para selecionar o item 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 tanto o item/banco de dados do Fabric quanto 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 recriará a tabela na próxima atualização.
Arquivos ou tabelas do Lakehouse
Para o Lakehouse, você tem a opção de criar arquivos ou tabelas em seu lakehouse. Isso é exclusivo, pois a maioria dos destinos só dá suporte a um ou outro. Isso proporciona mais flexibilidade na maneira como você estrutura seus dados no seu lakehouse.
Para alternar entre arquivos e tabelas, você pode usar o alternador ao procurar pelos recursos do seu lakehouse.
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:
Método de atualização: substituir: 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 sempre que fizer alterações no fluxo de dados, o que facilita as alterações de esquema ao republicar o fluxo de dados.
Descartar e recriar tabela: para permitir essas alterações de esquema, a tabela é descartada e recriada em cada atualização de fluxo de dados. A renovação do fluxo de dados pode causar a remoção de relacionamentos ou medidas que foram adicionadas anteriormente à tabela.
Observação
Atualmente, as configurações automáticas têm suporte apenas para o Lakehouse e o Banco de Dados SQL do Azure como destino de dados.
Configurações manuais
Ao desativar Usar configurações automáticas, você obtém controle total sobre como carregar seus dados no destino de 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.
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.
Substitua: em cada atualização de fluxo de dados, seus dados são removidos 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, 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 assistente de destino do fluxo de dados ao fazer alterações na consulta. Quando uma atualização detecta uma diferença entre o esquema de destino e o esquema esperado, a tabela é descartada e recriada para se alinhar ao esquema esperado. 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 você não planeja alterar o esquema e tiver relações ou medidas adicionadas à tabela de destino.
Observação
Ao carregar dados no warehouse, só há suporte para o esquema fixo.
Parametrização
Os parâmetros são um recurso principal no 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 o nome da tabela ou do arquivo para o destino.
Observação
Os parâmetros no destino de dados também podem ser aplicados diretamente por meio 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 aos seus requisitos. No entanto, atualmente, a interface do usuário dá suporte apenas à 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 destino são definidas no documento de mashup do fluxo de dados. O aplicativo de fluxo de dados cria fundamentalmente dois componentes:
- Uma consulta que contém as etapas de navegação para seu destino. Ele segue o padrão do nome da consulta inicial com um sufixo de _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 seu destino. O registro tem um ponteiro para a consulta que contém as etapas de navegação para seu destino e as configurações gerais de destino, como métodos de atualização, opções de esquema e qual tipo de destino o destino é, como 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 de fluxo de dados, mas você pode acessar essas informações por meio de:
- API REST do Fabric para definição de fluxo de dados GET
- Documento mashup.pq ao usar a integração do Git
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 | 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 |
| DateTimeZone | 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 |
| Nenhum | 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, Registro, 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, a moeda para uma coluna decimal. Nesses casos, tente alterar o tipo de dados no editor para decimal, pois isso facilitará o mapeamento mais fácil para a tabela e a coluna existentes.
Tópicos avançados
Usando o preparo antes de carregar para um destino
Para melhorar o desempenho do processamento de consultas, o estágio pode ser utilizado no Dataflow Gen2 para aproveitar a computação do Fabric e executar suas consultas.
Quando o staging é habilitado em suas consultas (o comportamento padrão), seus dados são carregados no local de staging, que é um Lakehouse interno acessível apenas pelos fluxos de dados.
O uso de locais de preparação pode melhorar o desempenho em alguns casos em que consolidar a consulta no endpoint de análise SQL é mais rápido do que o processamento na memória.
Quando você estiver carregando dados no Lakehouse ou em outros destinos que não sejam data warehouses, desabilitamos o recurso de pré-processamento por padrão para melhorar o desempenho. Quando você carrega dados no destino de dados, os dados são gravados diretamente no destino de dados sem usar o 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.
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.
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.
Suporte a esquema para bancos de dados Lakehouse, Warehouse e SQL (versão prévia)
Os bancos de dados Lakehouse, Warehouse e SQL no Microsoft Fabric dão suporte à capacidade de criar um esquema para seus dados. Isso significa que você pode estruturar seus dados de uma maneira que facilite o gerenciamento e a consulta. Para poder gravar 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 exibir os esquemas no destino. Uma limitação de visualização para habilitar o Navigate usando a 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.
Limpando seu destino de dados do Lakehouse
Ao usar o Lakehouse como destino para o Dataflow Gen2 no Microsoft Fabric, é importante executar a manutenção regular para manter o desempenho ideal e o gerenciamento de armazenamento eficiente. 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 de tabelas Delta, o que otimiza os custos de armazenamento e mantém a integridade dos dados.
Por que aspirar é importante
- 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.
- 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.
- 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:
- Navegue até o Lakehouse: Na sua conta do Microsoft Fabric, vá para o Lakehouse desejado.
- 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.
- Selecione as opções de manutenção: Escolha a entrada de menu Manutenção e selecione a opção Vácuo.
- 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 tabela 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.
- Atualizações incrementais: se você estiver usando atualizações incrementais, verifique se o vácuo está desativado, pois ele pode interferir no processo de atualização incremental.
Ao incorporar a limpeza na sua estratégia de gestã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:
Exclua a tabela do destino dos dados.
Remova o destino dos dados do fluxo de dados.
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} } )Adicione o destino dos dados.
Conversão e upscaling 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 colocamos em prática 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 |