Qual é Photon?

Este artigo explica os benefícios de executar suas cargas de trabalho no mecanismo de consulta 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. O Photon é compatível com APIs do Apache Spark, por isso funciona com o seu código existente.

Características do fóton

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, DELETE, MERGE INTO, INSERT, e CREATE TABLE AS SELECT, incluindo tabelas amplas que contêm milhares de colunas.
  • Substitui as junções sort-merge por hash-joins.
  • Para cargas de trabalho de IA e ML, o Photon melhora o desempenho de aplicativos que usam Spark SQL, Spark DataFrames, engenharia de recursos, GraphFrames e xgboost4j.

Ativação de fótons

A ativação de fótons varia de acordo com o tipo de computação:

Configurar a ativação de fótons

Para habilitar ou desabilitar o Photon na computação para todos os fins e trabalhos, marque a caixa de seleção Usar aceleração de fóton na interface do usuário de computação.

O Photon não está habilitado por padrão em qualquer computação criada com a API de Clusters ou a API de Trabalhos. Para habilitar o Photon, você deve definir o runtime_engine atributo como PHOTON.

Tipos de instância suportados

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 suportados

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
  • Ordenar
  • 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
  • Boolean
  • 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 ficheiros.

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.

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