Qual é Photon?

Aplica-se a:check marked yes Databricks SQL check marked yes Databricks Runtime 9.1 e superior

Saiba mais sobre as vantagens de executar suas cargas de trabalho no Photon, os recursos que ele suporta e como habilitar ou desabilitar o Photon. O Photon é ativado por padrão nos armazéns SQL do Databricks e é compatível com APIs do Apache Spark, portanto, ele funciona com seu código existente.

Para que é utilizado o Photon?

O Photon é um mecanismo de consulta vetorizada nativo do Azure Databricks de alto desempenho que executa suas cargas de trabalho SQL e chamadas de API DataFrame mais rapidamente para reduzir o custo total por carga de trabalho.

A seguir estão as principais características e vantagens do uso do Photon.

  • Suporte para operações SQL e 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 a partir do cache de disco.
  • Desempenho de varredura robusto em tabelas com muitas colunas e muitos arquivos pequenos.
  • Escrita Delta e Parquet mais rápida usando UPDATE, , , , e , CREATE TABLE AS SELECTDELETEMERGE INTOINSERTincluindo tabelas amplas que contêm milhares de colunas.
  • Substitui as junções sort-merge por hash-joins.

Introdução ao Photon

O Photon é habilitado por padrão em clusters que executam o Databricks Runtime 9.1 LTS e superior.

Para desativar ou habilitar manualmente o Photon no cluster, marque a caixa de seleção Usar Aceleração de Fóton ao criar ou editar o cluster.

Se você criar um cluster usando a API de Clusters, defina runtime_engine como PHOTON.

Tipos de instância

O Photon suporta 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 tempo de execução não-Photon. Para obter mais informações sobre instâncias de Photon e consumo de DBU, consulte a página de preços do Azure Databricks.

Operadores, expressões e tipos de dados

A seguir estão os operadores, expressões e tipos de dados que o Photon cobre.

Operadores

  • Digitalizar, Filtrar, Projeto
  • Agregação de hash/junção/embaralhamento
  • Junção de loop aninhado
  • Anti Join com reconhecimento nulo
  • União, Expandir, ScalarSubquery
  • Pia de gravação Delta/Parquet
  • Ordenação
  • Função Janela

Expressões

  • Comparação / Lógica
  • Aritmética / Matemática (mais)
  • Condicional (IF, CASE, etc.)
  • String (comuns)
  • Moldes
  • Agregados (mais comuns)
  • Carimbo de data/hora

Tipos de dados

  • Byte/Curto/Int/Longo
  • Booleano
  • String/binário
  • Decimal
  • Flutuador/Duplo
  • Carimbo de data/hora
  • Estrutura
  • Matriz
  • Mapa

Recursos que requerem Photon

A seguir estão os recursos que exigem Photon.

  • E/S preditiva para leitura e gravação. Consulte O que é E/S preditiva?.
  • Expressões geoespaciais H3. Ver funções geoespaciais H3.
  • Poda dinâmica de arquivos. Consulte Remoção dinâmica de arquivos.

Limitações

  • Streaming estruturado: Atualmente, o Photon suporta streaming sem estado com Delta, Parquet, CSV e JSON. O streaming Kafka e Kinesis sem estado é suportado ao gravar em uma pia Delta ou Parquet.
  • Photon não suporta UDFs ou RDD APIs.
  • O Photon não afeta consultas que normalmente são executadas em menos de dois segundos.

As funcionalidades não suportadas pelo Photon são executadas da mesma forma que no Databricks Runtime.