Interoperabilidade do formato de tabela Delta Lake

No Microsoft Fabric, o formato de tabela Delta Lake é o padrão para análises. O Delta Lake é uma camada de armazenamento de código aberto que traz transações ACID (Atomicidade, Consistência, Isolamento, Durabilidade) para cargas de trabalho de big data e análise.

Todas as experiências do Fabric geram e consomem nativamente tabelas Delta Lake, proporcionando uma experiência unificada ao produto. As tabelas Delta Lake produzidas por um mecanismo de computação, como o Fabric Data Warehouse ou o Synapse Spark, podem ser consumidas por qualquer outro mecanismo, como o Power BI. Quando ingeres dados no Fabric, ele armazena os dados como tabelas Delta por defeito. Você pode integrar facilmente dados externos contendo tabelas Delta Lake usando atalhos do OneLake.

Funcionalidades do Delta Lake e experiências do Fabric

Para alcançar a interoperabilidade, todas as experiências da plataforma alinham-se às funcionalidades do Delta Lake e às capacidades da plataforma. Algumas experiências só podem escrever em tabelas Delta Lake, enquanto outras podem ler a partir delas.

  • Autores: armazéns de dados, fluxos de eventos e modelos semânticos do Power BI exportados para o OneLake
  • Leitores: ponto final de análise SQL e modelos semânticos Power BI de acesso direto a lagoas
  • Gravadores e leitores: tempo de execução do Fabric Spark, fluxos de dados, pipelines e bancos de dados KQL (Kusto Query Language)

A matriz seguinte mostra as principais funcionalidades do Delta Lake e a sua disponibilidade em cada experiência Fabric.

Capacidade de malha Mapeamentos de coluna Vetores de eliminação Escrita de ordem V Otimização e manutenção de tabelas Partições
Exportação do armazém de dados Delta Lake Designação: Sim
ID: Nenhum
Sim Sim Sim Leitura: N/A (não aplicável)
Escrever: Não
Interface de análise SQL Designação: Sim
ID: Nenhum
Sim N/A (não aplicável) N/A (não aplicável) Leia: Sim
Escrever: N/A (não aplicável)
Explorador e visualização Lakehouse Designação: Sim
ID: Nenhum
Sim N/A (não aplicável) Sim Leia: Sim
Escrever: N/A (não aplicável)
Fabric Spark Runtime 2.0 Designação: Sim
ID: Sim
Sim Sim Sim Leia: Sim
Escrever: Sim
Tempo de execução do Fabric Spark 1.3 Designação: Sim
ID: Sim
Sim Sim Sim Leia: Sim
Escrever: Sim
Tempo de execução do Fabric Spark 1.2 Designação: Sim
ID: Sim
Sim Sim Sim Leia: Sim
Escrever: Sim
Tempo de execução do Fabric Spark 1.1 Designação: Sim
ID: Sim
Não Sim Sim Leia: Sim
Escrever: Sim
Cadernos Python Designação: Não
ID: Nenhum
Não Não Sim Leia: Sim
Escrever: Sim
Fluxos de dados Gen2 Designação: Sim
ID: Nenhum
Sim Sim Não Leia: Sim
Escrever: Sim
Tubulações Designação: Não
ID: Nenhum
Não Sim Não Leia: Sim
Gravar: Sim, substituir apenas
Modelos semânticos "Direct Lake" do Power BI Designação: Sim
ID: Sim
Sim N/A (não aplicável) N/A (não aplicável) Leia: Sim
Escrever: N/A (não aplicável)
Exportar modelos semânticos do Power BI para o OneLake Designação: Sim
ID: Nenhum
N/A (não aplicável) Sim Não Leitura: N/A (não aplicável)
Escrever: Não
Bases de dados KQL Designação: Sim
ID: Nenhum
Sim Não N.º 1 Leia: Sim
Escrever: Sim
Fluxos de eventos Designação: Não
ID: Nenhum
Não Não Não Leitura: N/A (não aplicável)
Escrever: Sim

1 As bases de dados KQL fornecem certas capacidades de manutenção de tabelas, como retenção. Os dados são removidos no final do período de retenção da OneLake. Para obter mais informações, consulte Uma cópia lógica.

Capacidade de malha Agrupamento de líquidos TIMESTAMP_NTZ Versão do leitor/gravador delta e recursos de tabela padrão Expansão de Tipos
Exportação do armazém de dados Delta Lake Não Não Leitor: 3
Escritor: 7
vetores de exclusão,
Mapeamentos de coluna (nome)
Sim
Interface de análise SQL Sim Não N/A (não aplicável) Sim
Explorador e visualização Lakehouse Sim Sim N/A (não aplicável) Sim
Fabric Spark Runtime 2.0 Sim Sim Leitor: 3
Escritor: 7
Vetores de Eliminação
Sim
Tempo de execução do Fabric Spark 1.3 Sim Sim Leitor: 1
Escritor: 2
Não
Tempo de execução do Fabric Spark 1.2 Sim, somente leitura Sim Leitor: 1
Escritor: 2
Não
Tempo de execução do Fabric Spark 1.1 Sim, somente leitura Não Leitor: 1
Escritor: 2
Não
Cadernos Python Não Sim Leitor: 1
Escritor: 2
Não
Fluxos de dados Gen2 Sim, somente leitura Não Leitor: 1
Escritor: 2
Sim
Tubulações Sim, somente leitura Não Leitor: 1
Escritor: 2
Sim: Pipelines de Dados DI (Atividade de Cópia e Pesquisa)
Não: pipelines DI CopyJob
Modelos semânticos "Direct Lake" do Power BI Sim Não N/A (não aplicável) Sim
Exportar modelos semânticos do Power BI para o OneLake Não Não Leitor: 2
Escritor: 5
Mapeamentos de coluna (nome)
Não
Bases de dados KQL Não Não Leitor: 1
Escritor: 1
Não
Fluxos de eventos Não Não Leitor: 1
Escritor: 2
Não

Observação

  • O Fabric não escreve mapeamentos de coluna por padrão, exceto onde indicado. A experiência padrão do Fabric gera tabelas que são compatíveis com todo o serviço. As tabelas Delta Lake produzidas por serviços de terceiros podem ter características de tabela incompatíveis.
  • Algumas experiências do Fabric não oferecem recursos de otimização e manutenção de tabelas, como compactação de binários, ordenação em V, mesclagem de vetores de exclusão (PURGE) e limpeza de arquivos antigos não referenciados (VACUUM). Para manter as tabelas Delta Lake ótimas para análise, siga as técnicas de manutenção de tabelas Run Delta em Lakehouse para tabelas ingeridas usando essas experiências.
  • Para orientações abrangentes sobre estratégias de manutenção de tabelas abrangendo várias cargas de trabalho em diferentes cenários de consumo, consulte Cross-workload table maintenance and optimization in Microsoft Fabric.

Limitações atuais

Atualmente, o Fabric não oferece suporte a esses recursos do Delta Lake:

  • Os pontos de verificação V2 não estão uniformemente disponíveis em todas as experiências. Somente notebooks Spark e tarefas Spark podem ler e gravar em tabelas com pontos de verificação V2. Os endpoints Lakehouse e SQL Analytics não listam corretamente tabelas contendo ficheiros V2 Checkpoint na __delta_log pasta.
  • Delta Lake 3.x Uniforme. Este recurso é suportado apenas no Data Engineering Spark-compute (Notebooks, Spark Jobs).
  • Escrita de colunas de identidade (funcionalidade Azure Databricks).
  • Lakeflow Spark Declarative Pipelines (funcionalidade Azure Databricks).
  • A Delta Lake 4.x apresenta características fora do Lakehouse e do Spark Notebooks and Jobs: colações, tipos de variantes, commits coordenados e mais. O alargamento de tipos é suportado conforme indicado na matriz de funcionalidades anterior neste artigo.
  • Notebooks Python com suporte para o recurso Delta Lake: Os notebooks Python utilizam delta-rs (deltalake), DuckDB e Polars em vez do leitor e escritor Spark Delta Lake para ler e escrever tabelas Delta Lake. As versões deltalake atualmente fixadas pela Fabric não suportam algumas funcionalidades da tabela Delta Lake, incluindo vetores de eliminação, mapeamento de colunas, gravações e otimização por agrupamento dinâmico e alargamento de tipos. Polars read_delta e write_delta usam deltalake como backend, por isso partilham as mesmas limitações.
  • Python notebooks Delta Lake soluções alternativas e regresso: A função DuckDB delta_scan pode fornecer uma solução alternativa apenas de leitura para algumas tabelas que o sistema não consegue ler, como tabelas com vetores de eliminação. Se uma funcionalidade Delta Lake não estiver disponível ou não funcionar num caderno Python, usa um caderno PySpark em vez disso. Os cadernos PySpark oferecem o suporte mais abrangente para Delta Lake no Fabric e abrangem os cenários de Delta Lake listados para os ambientes de execução do Fabric Spark nestas tabelas. Para mais informações, veja Interação de dados em cadernos Python e a Escolha entre cadernos Python e PySpark no Microsoft Fabric.

Caracteres especiais nos nomes das tabelas

O Fabric suporta caracteres especiais como parte dos nomes das tabelas. Esta funcionalidade permite o uso de caracteres Unicode para compor nomes de tabelas nas experiências Fabric.

Os seguintes caracteres especiais são reservados ou não compatíveis com pelo menos uma das Fabric tecnologias e não devem ser usados como parte do nome de uma tabela: " (aspas duplas), ' (aspas simples), #, %, +, :, ? ou ' (backtick).