O que é o Photon?
Este artigo explica os benefícios de executar suas cargas de trabalho no mecanismo de consulta Photon.
Photon Databricksé um mecanismo de consulta vetorizado nativo de alto desempenho que executa suas cargas de trabalho SQL e chamadas DataFrame API mais rapidamente para reduzir o custo total por carga de trabalho. O Photon é compatível com as APIs do Apache Spark, portanto, funciona com seu código existente.
Photon recurso
Veja a seguir key recurso e as vantagens de usar 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 do cache de disco.
- Desempenho robusto de varredura 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 sort-merge join por hash-join.
- Para as cargas de trabalho AI e ML, o Photon melhora o desempenho dos aplicativos que usam Spark SQL, Spark DataFrames, recurso engenharia, GraphFrames e xgboost4j.
Photon capacitação
Photon A capacitação varia de acordo com o tipo de compute:
-
Photon execução por default em SQL warehouse e serverless compute para Notebook e fluxo de trabalho.
-
Photon é ativado por default em compute executando Databricks Runtime 9.1 LTS e acima.
-
Photon pode ser ativado manualmente em compute executando Databricks Runtime 15.2 para Machine Learning (EoS) ou acima.
Configurar a ativação do Photon
Para ativar ou desativar o Photon em all-purpose e Job compute, marque a caixa de seleção Use Photon Acceleration na UI de computação.
Photon não é ativado por default em nenhum compute criado com o clustering API ou Jobs API. Para ativar o Photon, o senhor deve definir o atributo runtime_engine
como PHOTON
.
Tipos de instância compatíveis
Photon é compatível com vários tipos de instância nos nós driver e worker. Os tipos de instância do Photon consomem DBUs em uma taxa diferente da do mesmo tipo de instância que executa o tempo de execução não-Photon. Para obter mais informações sobre as instâncias do Photon e o consumo do DBU, consulte a páginaDatabricks preços.
Operadores, expressões e tipos de dados compatíveis
Veja a seguir os operadores, as expressões e os tipos de dados que o Photon abrange.
Operadores
- Digitalizar, filtrar, projetar
- Hash Aggregate/join/Shuffle
- Junção de loop aninhado
- Null-Aware Anti join
- União, expansão, subconsulta escalar
- Delta/Parquet Write Sink
- Ordenar
- Função de janela
Expressões
- Comparação/Lógica
- Aritmética/Matemática (a maioria)
- Condicional (IF, CASE, etc.)
- strings (comuns)
- Emolda
- Agregados (os mais comuns)
- Carimbo de data/hora
Tipos de dados
- Byte/Curto/Inteiro/Longo
- Booleana
- strings/Binário
- Decimal
- Flutuador/Duplo
- Carimbo de data/hora
- struct
- matriz
- Mapa
que requerem Photon
A seguir, há recursos que exigem Photon.
- E/S preditiva para leitura e gravação. Consulte O que é E/S preditiva? .
- Expressões geoespaciais H3. Veja as funções geoespaciais H3.
- Remoção dinâmica de arquivos nas instruções
MERGE
,UPDATE
eDELETE
. Consulte Poda dinâmica de arquivos.
Limitações
- transmissão estruturada: o site Photon atualmente oferece suporte à transmissão sem estado com Delta, Parquet, CSV, e JSON. A transmissão sem estado de Kafka e Kinesis é suportada ao gravar em um sink Delta ou Parquet.
- Photon não é compatível com UDFs, RDD APIs, ou conjunto de dados APIs.
- Photon não afeta as consultas que normalmente são executadas em menos de dois segundos.
Se a carga de trabalho atingir uma operação não suportada, o recurso compute mudará para o mecanismo de tempo de execução padrão para o restante da carga de trabalho.