Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
O Microsoft Fabric Runtime é uma plataforma integrada ao Azure baseada no Apache Spark que permite a execução e o gerenciamento de experiências de engenharia de dados e ciência de dados. Ele combina componentes-chave de fontes internas e de código aberto, fornecendo aos clientes uma solução abrangente. Para simplificar, consulte o Microsoft Fabric Runtime alimentado pelo Apache Spark como Fabric Runtime.
Principais componentes do Fabric Runtime:
Apache Spark - uma poderosa biblioteca de computação distribuída de código aberto que permite processamento de dados em grande escala e tarefas de análise. O Apache Spark fornece uma plataforma versátil e de alto desempenho para experiências de engenharia de dados e ciência de dados.
Delta Lake - uma camada de armazenamento de código aberto que traz transações ACID e outros recursos de confiabilidade de dados para o Apache Spark. Integrado ao Fabric Runtime, o Delta Lake aprimora os recursos de processamento de dados e garante a consistência dos dados em várias operações simultâneas.
O Native Execution Engine - uma melhoria transformadora para as cargas de trabalho do Apache Spark, que oferece ganhos significativos de desempenho ao executar diretamente consultas do Spark em infraestrutura lakehouse. Integrado de forma fluida, não requer alterações de código e evita o bloqueio do fornecedor. Suporta formatos Parquet e Delta em APIs Apache Spark em Runtime 1.3 (Spark 3.5) e Runtime 2.0 (Spark 4.1).
Os operadores suportados são transferidos do Spark baseado em JVM para um caminho de execução vetorializado em C++ via Apache Gluten e Velox, fornecendo processamento colunar acelerado por SIMD com suporte nativo para formatos Parquet e Delta. Quando um operador não é suportado, a execução recorre automaticamente ao Spark baseado em JVM. Em benchmarks representativos (TPC-DS com fator de escala 1000 usando Delta), o motor de execução alcançou desempenho até seis vezes mais rápido em comparação com o Spark de código aberto, o que se traduz em aproximadamente 83% em poupanças de custos de computação num cluster Fabric de tamanho fixo.
O caminho nativo preserva as otimizações de consultas Fabric Spark, incluindo execução adaptativa de consultas, reescritas baseadas em custos, poda de colunas e empurramento de predicados. Podes alternar a execução nativa por aplicação usando a
spark.native.enabledconfiguração. Durante a execução da célula do notebook, o Fabric Spark Advisor gera alertas em tempo real quando a execução volta ao Spark baseado em JVM, ajudando-o a diagnosticar quando o offload nativo não é aplicado.Pacotes de nível padrão para Java/Scala, Python e R - pacotes que suportam diversas linguagens de programação e ambientes. Esses pacotes são instalados e configurados automaticamente, para que os desenvolvedores possam aplicar suas linguagens de programação preferidas para tarefas de processamento de dados.
O Microsoft Fabric Runtime é construído sobre um sistema operacional de código aberto robusto, garantindo compatibilidade com várias configurações de hardware e requisitos do sistema.
Na tabela seguinte, encontra-se uma comparação abrangente dos principais componentes, incluindo versões do Apache Spark, sistemas operativos suportados, Java, Scala, Python, Delta Lake e R, para runtimes baseados em Apache Spark dentro da plataforma Microsoft Fabric.
Sugestão
Use sempre a versão de runtime mais recente e geralmente disponível (GA) para a sua carga de trabalho de produção, que atualmente é o Runtime 1.3.
| Componente | Tempo de Execução 1.3 | Runtime 2.0 |
|---|---|---|
| Fase de lançamento | disponibilidade geral | Pré-visualização Pública |
| Versão Apache Spark | 3.5.5 | 4.1 |
| Sistema operativo | Mariner 2,0 | Mariner 3.0 |
| Versão Java | 11 | 21 |
| Versão Scala | 2.12.17 | 2.13.16 |
| Versão de Python | 3.11 | 3.13 |
| Versão de Delta Lake | 3.2 | 4.2 |
Visite o Runtime 1.3 ou o Runtime 2.0 para explorar detalhes, novas funcionalidades, melhorias e cenários de migração para a versão específica do runtime.
Otimizações de malha
No Microsoft Fabric, tanto o mecanismo Spark quanto as implementações Delta Lake incorporam otimizações e recursos específicos da plataforma. Estas funcionalidades utilizam integrações nativas dentro da plataforma. Pode desativar todas estas funcionalidades para alcançar a funcionalidade padrão do Spark e Delta Lake. Os tempos de execução do Fabric para Apache Spark abrangem:
- A versão open-source completa do Apache Spark.
- Uma coleção de quase 100 aprimoramentos de desempenho de consulta distintos e integrados. Esses aprimoramentos incluem recursos como cache de partição (habilitando o cache de partição do Sistema de Arquivos para reduzir chamadas de metastore) e Cross Join para a projeção de subconsulta escalar.
- Cache inteligente incorporado.
No Fabric Runtime para Apache Spark e Delta Lake, as capacidades dos escritores nativos servem dois propósitos principais:
- Eles oferecem desempenho diferenciado para cargas de trabalho de escrita, otimizando o processo de escrita.
- Eles configuram por padrão a otimização V-Order dos ficheiros Delta Parquet. A otimização Delta Lake V-Order é crucial para garantir um desempenho de leitura superior em todos os motores Fabric. Para obter uma compreensão mais profunda de como funciona e como a gerir, veja otimização de tabelas Delta Lake e V-Order.
Suporte a vários tempos de execução
O Fabric suporta múltiplos runtimes, por isso podes alternar entre eles e reduzir o risco de problemas de compatibilidade ou interrupções.
Note
Um runtime Spark inclui uma versão específica de Python como parte do seu conjunto de componentes. Por exemplo, o Runtime 1.3 inclui Python 3.11. Esta versão do Python é independente do kernel do notebook Python que selecionar para notebooks exclusivamente em Python. Para o ciclo de vida do kernel do bloco de notas Python, consulte o tempo de execução e o ciclo de vida do kernel do bloco de notas Python no Fabric.
Por defeito, todos os novos espaços de trabalho usam a versão mais recente do tempo de execução do GA, que atualmente é o Runtime 1.3.
Para alterar a versão do tempo de execução no nível do espaço de trabalho, vá para Configurações do espaço de trabalho>Configurações de Data Engineering/Science>Configurações de Spark. Na guia Ambiente, selecione a versão do ambiente de execução desejada entre as opções disponíveis. Selecione Salvar para confirmar sua seleção.
Depois de fazer esta alteração, todos os itens criados pelo sistema dentro do espaço de trabalho, incluindo Lakehouses, SJDs e Notebooks, utilizam a versão de runtime ao nível do espaço de trabalho recém-selecionada a partir da próxima Sessão Spark. Se estiveres atualmente a usar um notebook com uma sessão existente para uma tarefa ou qualquer atividade relacionada com o lakehouse, essa sessão do Spark mantém-se tal como está. No entanto, a partir da próxima sessão ou tarefa, aplica-se a versão de runtime selecionada.
Para alterar o tempo de execução ao nível do Environment item, cria um novo item de Ambiente ou abre um existente. No menu pendente Runtime, selecione a versão do ambiente de execução pretendida entre as opções disponíveis, selecione Save e, em seguida, Publish as alterações. Em seguida, pode usar este Environment item com o seu Notebook ou Spark Job Definition.
Consequências das alterações de tempo de execução nas configurações do Spark
O sistema migra todas as definições do Spark. No entanto, se o sistema identificar que uma definição do Spark não é compatível com o Runtime B, mostra uma mensagem de aviso e não implementa essa definição.
Consequências das alterações de tempo de execução no gerenciamento de bibliotecas
O sistema de gestão de bibliotecas migra todas as bibliotecas do Runtime A para o Runtime B, incluindo runtimes públicos e personalizados. Se as versões Python e R se mantiverem iguais, as bibliotecas funcionam corretamente. No entanto, para os JARs, há uma grande probabilidade de não funcionarem devido a alterações nas dependências e outros fatores, como alterações no Scala, Java, Spark e no sistema operativo.
És responsável por atualizar ou substituir quaisquer bibliotecas que não funcionem com o Runtime B. Se houver um conflito, o que significa que o Runtime B inclui uma biblioteca originalmente definida no Runtime A, o sistema de gestão da biblioteca tenta criar a dependência necessária para o Runtime B com base nas suas definições. No entanto, o processo de construção falha se ocorrer um conflito. No registo de erros, pode ver quais as bibliotecas que causam conflitos e fazer ajustes às suas versões ou especificações.
Atualizar o protocolo Delta Lake
As funcionalidades do Delta Lake são sempre retrocompatíveis, garantindo que as tabelas criadas numa versão inferior do Delta Lake possam interagir de forma fluida com versões superiores. No entanto, ao ativar certas funcionalidades (por exemplo, usando o delta.upgradeTableProtocol(minReaderVersion, minWriterVersion) método), pode comprometer a compatibilidade direta com versões inferiores do Delta Lake. Nesses casos, é necessário modificar cargas de trabalho que referenciam as tabelas atualizadas para alinhar com uma versão Delta Lake que mantenha a compatibilidade.
Cada tabela Delta está associada a uma especificação de protocolo, que define as funcionalidades que suporta. As aplicações que interagem com a tabela, seja para leitura ou escrita, dependem desta especificação de protocolo para determinar se são compatíveis com o conjunto de funcionalidades da tabela. Se uma aplicação não tiver capacidade para lidar com uma funcionalidade listada como suportada no protocolo da tabela, não pode ler nem escrever nessa tabela.
A especificação do protocolo divide-se em dois componentes distintos: o protocolo de "leitura" e o protocolo de "escrita". Para mais informações, veja Como a Delta Lake gere a compatibilidade de funcionalidades?
Podes executar o comando delta.upgradeTableProtocol(minReaderVersion, minWriterVersion) no ambiente PySpark, e no SQL e Scala do Spark. Este comando inicia uma atualização na tabela Delta.
Quando realiza esta atualização, recebe um aviso de que atualizar a versão do protocolo Delta é um processo irreversível. Este processo significa que, uma vez executada a atualização, não pode desfazê-la.
As atualizações de versões do protocolo podem potencialmente afetar a compatibilidade dos leitores de tabelas Delta Lake existentes, escritores ou ambos. Por isso, avance com cautela e atualize a versão do protocolo apenas quando necessário, como ao adotar novas funcionalidades em Delta Lake.
Importante
Para saber mais sobre quais as versões e funcionalidades dos protocolos que são compatíveis em todas as experiências do Microsoft Fabric, consulte a interoperabilidade do formato de tabela Delta Lake.
Além disso, verifique se todas as cargas de trabalho e processos de produção atuais e futuros são compatíveis com as tabelas Delta Lake usando a nova versão do protocolo para garantir uma transição fluida e evitar quaisquer possíveis interrupções.