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
, eCREATE 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:
O Photon é executado por padrão em armazéns SQL e computação sem servidor para blocos de anotações e fluxos de trabalho.
O Photon é ativado por padrão na computação que executa o Databricks Runtime 9.1 LTS e superior.
O Photon pode ser ativado manualmente na computação que executa o Databricks Runtime 15.2 para Machine Learning ou superior.
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.