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 Delta e Parquet tables.
- 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 verificação robusto em tables com muitos columns e muitos arquivos pequenos.
- Escrita mais rápida de Delta e Parquet usando
UPDATE
,DELETE
,MERGE INTO
,INSERT
eCREATE TABLE AS SELECT
, incluindo tables amplos que contêm milhares de columns. - 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 em computadores que estejam a executar o Databricks Runtime 15.2 for Machine Learning (EoS) ou superior.
Configurar a ativação de fótons
Para habilitar ou desabilitar o Photon na computação para todos os fins e trabalhos,
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 set o atributo runtime_engine
para 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
- Hash Aggregate/Join/Shuffle
- Nested-Loop Join
- Null-Aware Anti Join
- União, Expandir, ScalarSubquery
- Pia de gravação Delta/Parquet
- Ordenar
- Função Window
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.
- Remoção dinâmica de ficheiros nas instruções
MERGE
,UPDATE
eDELETE
. 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.
- O Photon não suporta UDFs, APIs RDD ou APIs de Conjunto de Dados.
- 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.