Compartilhar via


O que é Photon?

Este artigo explica os benefícios de executar as cargas de trabalho no mecanismo de consulta do Photon.

O Photon é o mecanismo de consulta vetorizada nativo do Azure Databricks com alto desempenho, que executa as cargas de trabalho SQL as chamadas à API do DataFrame com mais rapidez para reduzir o custo total por carga de trabalho. O Photon é compatível com as APIs do Apache Spark. Portanto, ele funciona com o código existente.

Recursos do Photon

Veja a seguir os principais recursos e vantagens de usar o Photon.

  • Suporte a operações de SQL e de DataFrame equivalentes com tabelas Delta e Parquet.
  • Consultas aceleradas que processam dados mais rapidamente e incluem agregações e junções.
  • Desempenho mais rápido quando os dados são acessados repetidamente do cache de disco.
  • Desempenho de exame robusto em tabelas com muitas colunas e muitos arquivos pequenos.
  • Gravação mais rápida de Delta e Parquet com o uso de UPDATE, DELETE, MERGE INTO, INSERT e CREATE TABLE AS SELECT, inclusive contendo milhares de colunas.
  • Substitui junções de intercalação de ordenação por junções de hash.
  • Para cargas de trabalho de IA e ML, o Photon melhora o desempenho de aplicativos usando Spark SQL, Spark DataFrames, engenharia de recursos, GraphFrames e xgboost4j.

Habilitação do Photon

A habilitação do Photon varia de acordo com o tipo de computação:

  • O Photon é executado por padrão em depósitos SQL e em computação sem servidor para notebooks e fluxos de trabalho.

  • O Photon é habilitado por padrão na computação que executa o Databricks Runtime 9.1 LTS e superior.

  • O Photon pode ser habilitado manualmente na computação que executa o Databricks Runtime 15.2 para Machine Learning ou superior.

Configurar a habilitação do Photon

Para habilitar ou desabilitar o Photon na computação de trabalhos e para todas as finalidades, marque a caixa de seleção Usar aceleração do Photon na interface do usuário de computação.

O Photon não é habilitado por padrão em computações criadas com a API de clusters ou a API de trabalhos. Para ativar o Photon, você deve definir o runtime_engine atributo como PHOTON.

Tipos de instância com suporte

O Photon oferece suporte aos vários tipos de instância nos nós de driver e de trabalho. Os tipos de instância do Photon consomem DBUs a uma taxa diferente do mesmo tipo de instância que executa o runtime não Photon. Para obter mais informações sobre instâncias do Photon e consumo de DBUs, consulte a página de preços do Azure Databricks.

Operadores, expressões e tipos de dados compatíveis

Veja a seguir os operadores, as expressões e os tipos de dados que o Photon aborda.

Operadores

  • Digitalizar, Filtrar, Projeto
  • Agregação/junção/embaralhamento de hash
  • Ingresso no Nested-Loop
  • Null-Aware Anti-Junção
  • Union, Expand, ScalarSubquery
  • Coletor de Gravação Delta/Parquet
  • Classificar
  • Função de janela

Expressões

  • Comparação/lógica
  • Aritmética/Matemática (a maioria)
  • Condicional (IF, CASE, etc.)
  • Cadeia de caracteres (comuns)
  • Conversões
  • Agregações (as mais comuns)
  • Data/Carimbo de data/hora

Tipos de dados

  • Byte/Short/Int/Long
  • Boolean
  • Cadeia de caracteres/binário
  • Decimal
  • Flutuante/Duplo
  • Data/Carimbo de data/hora
  • Struct
  • Array
  • Mapeamento

Recursos que exigem o Photon

A seguir estão os recursos que exigem o Photon.

Limitações

  • Streaming estruturado: atualmente, o Photon dá suporte a streaming sem estado para Delta, Parquet, CSV e JSON. Há suporte para streaming de Kafka e Kinesis sem estado ao gravar em um coletor Delta ou Parquet.
  • O Photon não dá suporte a UDFs ou APIs RDD.
  • O Photon não afeta consultas que normalmente são executadas em menos de dois segundos.

Se a carga de trabalho atingir uma operação sem suporte, o recurso de computação alternará para o mecanismo de runtime padrão para o restante da carga de trabalho.