Ative a disponibilização do OneLake para um Eventhouse

Você pode criar uma cópia lógica dos dados do banco de dados KQL em uma casa de eventos ativando disponibilidade do OneLake. Quando ativa a disponibilidade OneLake, pode consultar os dados na sua base de dados KQL no formato Delta Lake através de outros motores de Fabric, como o modo Direct Lake em Power BI, Warehouse, Lakehouse, Notebooks e outros. Delta Lake é o formato unificado de tabela data lake que torna possível o acesso fluido aos dados em todos os motores de computação do Fabric.

Neste artigo, você aprenderá a ativar a disponibilidade de dados de banco de dados KQL no OneLake.

Quando a disponibilidade do OneLake e a sincronização de esquemas estão ativadas, também pode utilizar Analisar dados com>SQL endpoint ao nível da base de dados para consultar a representação do Delta Lake em tempo quase real através de motores com base em SQL.

Quando a disponibilidade do OneLake e a sincronização de esquemas estão ativadas, também pode utilizar Analisar dados com>ponto final SQL ao nível da base de dados para consultar a representação do Delta Lake quase em tempo real através de motores com base em SQL.

Como funciona a disponibilidade do OneLake para bases de dados KQL

Você pode ativar a disponibilidade do OneLake ao nível da base de dados ou da tabela. Quando ativadas no nível do banco de dados, todas as novas tabelas e seus dados são disponibilizados no OneLake. Ao ativar o recurso, você também pode optar por aplicar essa opção a tabelas existentes selecionando a opção Aplicar a tabelas existentes, para incluir o preenchimento histórico. Ativar no nível da tabela apenas torna disponível essa tabela e os seus dados no OneLake. A política de retenção de dados do seu banco de dados KQL também é aplicada aos dados no OneLake. Os dados removidos do seu banco de dados KQL no final do período de retenção também são removidos do OneLake. Se desativar a disponibilidade do OneLake, os dados são suavemente eliminados do OneLake.

A sincronização do esquema no back-end mantém a representação do Delta Lake alinhada com a base de dados KQL, permitindo consultas em quase tempo real por meio do ponto final SQL e dos blocos de notas. Para latência esperada e comportamento em lote, veja Comportamento adaptativo.

Enquanto a opção de disponibilidade do OneLake estiver ativada, não se podem executar as seguintes tarefas:

  • Renomear tabelas.
  • Alterar o tipo de coluna. A adição ou eliminação de uma coluna é suportada.
  • Aplique segurança ao nível da linha às tabelas.
  • Apagar, truncar ou eliminar dados.

Se você precisar executar qualquer uma dessas tarefas, use as seguintes etapas:

  1. Desative a disponibilidade do OneLake .
  2. Realiza a tarefa.
  3. Ative a disponibilidade do OneLake .

Importante

Desativar a disponibilidade do OneLake remove suavemente os seus dados do OneLake. Quando voltar a ativar a disponibilidade, todos os dados ficam disponíveis no OneLake, incluindo o preenchimento histórico.

Nota

Para informações sobre o tempo que os dados demoram a aparecer no OneLake, veja Comportamento adaptativo. Não há custo de armazenamento extra para ativar disponibilidade do OneLake. Para obter mais informações, consulte consumo de recursos.

Pré-requisitos

Ative a disponibilidade do OneLake para uma base de dados ou tabela KQL

Podes ativar a disponibilidade do OneLake para uma base de dados ou tabela KQL.

  1. Selecione uma base de dados ou tabela.

  2. Na seção OneLake do painel de detalhes, defina de Disponibilidade como Habilitado.

    Captura de tela da seção OneLake do painel Detalhes do banco de dados mostrando a opção Disponibilidade realçada.

  3. Na janela Ativar disponibilidade OneLake , selecione Ativar.

    Captura de ecrã da janela Ativar disponibilidade OneLake mostrando a opção Aplicar a tabelas existentes.

  4. Os detalhes do banco de dados ou da tabela são atualizados automaticamente.

    Captura de tela dos detalhes da seção OneLake quando a Disponibilidade estiver definida como Habilitada. A opção para expor dados ao OneLake está ativada.

Quando ativa a disponibilidade do OneLake na sua base de dados ou tabela KQL, pode aceder a todos os dados no caminho OneLake indicado no formato Delta Lake. Também pode criar um atalho OneLake a partir de uma casa de lago ou armazém, ou consultar os dados diretamente através do modo Power BI Direct Lake. Com a disponibilidade do OneLake ativada no seu banco de dados ou tabela KQL, agora pode aceder a todos os dados no caminho especificado do OneLake no formato Delta Lake. Também pode criar um atalho OneLake a partir de um Lakehouse, Data Warehouse ou consultar os dados diretamente através do modo Direct Lake do Power BI.

Utilize com opções de análise de dados

Quando a disponibilidade do OneLake está ativada, os itens da base de dados Eventhouse e KQL expõem dados de Análise com opções ao nível da base de dados:

  • Endpoint SQL: Disponível quando a disponibilidade do OneLake e a sincronização de esquemas estão ativadas.
  • Caderno: Abre a análise baseada em caderno para a base de dados selecionada.

Se desativares a disponibilidade do OneLake, a opção endpoint SQL é removida deste menu até a ativares novamente.

Comportamento adaptativo para agrupamento de ficheiros Parquet

Uma casa de eventos agrupa inteligentemente os fluxos de dados recebidos num ou mais ficheiros Parquet estruturados para análise. Agrupar fluxos de dados é importante quando se lida com dados em goteo, porque escrever muitos pequenos ficheiros Parquet no lago pode ser ineficiente. Esta ineficiência resulta em custos mais elevados e fraco desempenho nas consultas.

O mecanismo adaptativo do eventhouse pode atrasar as operações de escrita para o OneLake se não houver dados suficientes para criar ficheiros Parquet ideais. Este comportamento garante que os ficheiros Parquet têm o tamanho ideal e cumprem as melhores práticas do Delta Lake. Equilibra a necessidade de disponibilidade rápida de dados com considerações de custo e desempenho.

Latência de escrita predefinida e configurável para a disponibilidade do OneLake:

Setting Valor predefinido Intervalo permitido
Atraso na operação de escrita (TargetLatencyInMinutes) Até 3 horas, ou até serem criados ficheiros de tamanho suficiente (tipicamente 200-256 MB) 5 minutos a 3 horas

Por exemplo, use o seguinte comando Kusto para definir o atraso de escrita para 5 minutos para uma única tabela:

.alter-merge table <TableName> policy mirroring dataformat=parquet with (IsEnabled=true, TargetLatencyInMinutes=5);

Atenção

Ajustar o atraso para um período mais curto pode resultar em uma tabela delta subótima com um grande número de arquivos pequenos, o que pode levar a um desempenho de consulta ineficiente. A tabela resultante no OneLake é somente leitura e não pode ser otimizada após a criação.

Pode monitorizar há quanto tempo foram adicionados novos dados ao lago verificando a latência dos seus dados usando o .show table mirroring operations comando.

Os resultados são medidos a partir da última vez que os dados foram adicionados. Quando a Latência retorna 00:00:00, todos os dados da base de dados KQL estão disponíveis no OneLake.

Ver ficheiros do Delta Lake no OneLake

Quando ativas a disponibilidade do OneLake numa tabela, o processo cria uma pasta de registo delta juntamente com quaisquer ficheiros JSON e Parquet correspondentes. Pode ver os ficheiros disponíveis no OneLake e as respetivas propriedades sem sair do Real-Time Intelligence.

  • Para visualizar os arquivos, passe o mouse sobre uma tabela no painel Explorer e, em seguida, selecione o menu Mais [...]>Ver ficheiros.

    Captura de ecrã do painel Explorador onde se vê o menu suspenso Mais de uma tabela.

  • Para visualizar as propriedades da pasta de log delta ou os arquivos individuais, passe o mouse sobre a pasta ou arquivo e, em seguida, selecione o menu Mais [...]>Propriedades.

  • Para visualizar os arquivos na pasta delta log:

    1. Selecione a pasta _delta_log .
    2. Selecione um arquivo para exibir os metadados e o esquema da tabela. O editor que se abre está em formato somente leitura.

Aceda à política de espelhamento do OneLake

Por predefinição, quando ativa a disponibilidade do OneLake para uma base de dados ou uma tabela KQL, o sistema habilita uma política de espelhamento. Podes usar a política de espelhamento para monitorizar a latência dos dados ou alterá-la para particionar tabelas delta.

Nota

Se você desativar a disponibilidade do OneLake, a propriedade da política de IsEnabled espelhamento será definida como false (IsEnabled=false).

Tabelas de delta de partição no OneLake

Você pode particionar suas tabelas delta para melhorar a velocidade de consulta. Para obter informações sobre quando particionar seus arquivos do OneLake, consulte Quando particionar tabelas. Cada partição é representada como uma coluna separada, utilizando a PartitionName indicada na lista Partitions. Esta representação significa que a sua cópia do OneLake tem mais colunas do que a sua tabela de origem.

Para particionar as tuas tabelas delta, usa o .alter-merge table policy mirroring comando.

Consultar tabelas Delta a partir de um caderno Fabric

Você pode usar o Notebook do Fabric para ler os dados do OneLake com o seguinte trecho de código.

Sugestão

Pode iniciar um notebook novo ou existente do Fabric diretamente em Analisar dados com>Notebook numa Eventhouse ou base de dados KQL. O caderno liga-se automaticamente ao contexto da base de dados selecionado. Use o seguinte exemplo de código quando quiser acesso manual baseado em caminhos.

No trecho de código, substitua <workspaceGuid>, <workspaceGuid>e <tableName> por seus próprios valores.

delta_table_path = 'abfss://<workspaceGuid>@onelake.dfs.fabric.microsoft.com/<eventhouseGuid>/Tables/<tableName>'

df = spark.read.format("delta").load(delta_table_path)

df.show()

Nota

Para um banco de dados do Azure Data Explorer, use este código:

delta_table_path = 'abfss://<workspaceName>@onelake.dfs.fabric.microsoft.com/<itemName>.KustoDatabase/Tables/<tableName>'