Che cos'è Photon?
Si applica a: Databricks SQL Databricks Runtime 9.1 e versioni successive
Informazioni sui vantaggi dell'esecuzione dei carichi di lavoro in Photon, sulle funzionalità supportate e su come abilitare o disabilitare Photon. Photon è attivato per impostazione predefinita in Databricks SQL Warehouse ed è compatibile con le API Apache Spark, quindi funziona con il codice esistente.
Che cos'è Photon usato per?
Photon è un motore di query vettorializzato nativo di Azure Databricks a prestazioni elevate che esegue i carichi di lavoro SQL e le chiamate API DataFrame più velocemente per ridurre il costo totale per carico di lavoro.
Di seguito sono riportate le caratteristiche chiave e i vantaggi dell'uso di Photon.
- Supporto per operazioni SQL e dataframe equivalenti con tabelle Delta e Parquet.
- Query accelerate che elaborano i dati più velocemente e includono aggregazioni e join.
- Prestazioni più veloci quando si accede ripetutamente ai dati dalla cache del disco.
- Prestazioni di analisi affidabili nelle tabelle con molte colonne e molti file di piccole dimensioni.
- Scrittura Delta e Parquet più veloce usando
UPDATE
,MERGE INTO
DELETE
,INSERT
, eCREATE TABLE AS SELECT
, incluse tabelle wide che contengono migliaia di colonne. - Sostituisce i join di tipo sort-merge con hash-join.
Introduzione a Photon
Photon è abilitato per impostazione predefinita nei cluster che eseguono Databricks Runtime 9.1 LTS e versioni successive.
Per disabilitare o abilitare manualmente Photon nel cluster, selezionare la casella di controllo Usa accelerazione foton quando si crea o si modifica il cluster.
Se si crea un cluster usando l'API Clusters, impostare su runtime_engine
PHOTON
.
Tipi di istanza
Photon supporta diversi tipi di istanza nei nodi driver e di lavoro. I tipi di istanza photon utilizzano unità DI database a una frequenza diversa rispetto allo stesso tipo di istanza che esegue il runtime non Photon. Per altre informazioni sulle istanze di Photon e sul consumo di DBU, vedere la pagina dei prezzi di Azure Databricks.
Operatori, espressioni e tipi di dati
Di seguito sono riportati gli operatori, le espressioni e i tipi di dati coperti da Photon.
Operatori
- Analisi, filtro, progetto
- Aggregazione hash/join/shuffle
- Nested-Loop Join
- Anti join compatibile con Null
- Union, Expand, ScalarSubquery
- Sink di scrittura Delta/Parquet
- Ordinamento
- Funzione Window
Espressioni
- Confronto/logica
- Aritmetica/Matematica (la maggior parte)
- Condizionale (IF, CA edizione Standard e così via)
- Stringa (quelle comuni)
- Cast
- Aggregazioni (più comuni)
- Data/ora
Tipo di dati
- Byte/Short/Int/Long
- Boolean
- Stringa/binaria
- Decimale
- Float/Double
- Data/ora
- Struct
- Matrice
- Mapping
Funzionalità che richiedono Photon
Di seguito sono riportate le funzionalità che richiedono Photon.
- I/O predittivo per la lettura e la scrittura. Vedere Che cos'è l'I/O predittivo?.
- Espressioni geospaziali H3. Vedere Funzioni geospaziali H3.
- Eliminazione dinamica dei file. Vedere Eliminazione dinamica dei file.
Limiti
- Structured Streaming: Photon supporta attualmente lo streaming senza stato con Delta, Parquet, CSV e JSON. Durante la scrittura in un sink Delta o Parquet è supportato lo streaming Kafka e Lo streaming di Potresti essere supportato.
- Photon non supporta funzioni definite dall'utente o API RDD.
- Photon non influisce sulle query che normalmente vengono eseguite in meno di due secondi.
Le funzionalità non supportate da Photon vengono eseguite come con Databricks Runtime.