Qual é Photon?
Aplica-se a: Databricks SQL 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 SELECT
DELETE
MERGE INTO
INSERT
incluindo 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.