Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo illustra i vantaggi dell'utilizzo dei carichi di lavoro nel motore di query Photon.
Photon è un motore di query vettoriale nativo di Azure Databricks ad alte prestazioni che esegue i carichi di lavoro SQL e le chiamate API DataFrame più velocemente per ridurre il costo totale per carico di lavoro. Photon è compatibile con le API Apache Spark, dunque funziona con il codice esistente.
Funzionalità Photon
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 dati più rapidamente e includono aggregazioni e unioni.
- 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 più veloce nei formati Delta e Parquet usando
UPDATE,DELETE,MERGE INTO,INSERT, eCREATE TABLE AS SELECT, incluse tabelle ampie che contengono migliaia di colonne. - Sostituisce i join di tipo sort-merge con i join di tipo hash.
- Per quanto riguarda i carichi di lavoro di IA e ML, Photon migliora le prestazioni per le applicazioni che usano Spark SQL, DataFrame Spark, progettazione di funzionalità, GraphFrame e xgboost4j.
Abilitazione di Photon
L'abilitazione di Photon varia in base al tipo di calcolo:
- Photon viene eseguito per impostazione predefinita nei warehouse SQL e nelle risorse di calcolo serverless per notebook e flussi di lavoro.
- Photon è abilitato per impostazione predefinita sui calcoli in esecuzione con Databricks Runtime 9.1 LTS e versioni successive.
- Photon può essere abilitato manualmente nell'ambiente di calcolo che esegue Databricks Runtime 15.2 per Machine Learning (EoS) o versione successiva.
Configurare l'abilitazione Photon
Per abilitare o disabilitare Photon per il calcolo di scopi generici e di processi, selezionare la casella di controllo Usa accelerazione Foton nell'interfaccia utente di calcolo .
Photon non è abilitato per impostazione predefinita in alcuna istanza di calcolo creata con l'API Clusters o l'API Compiti. Per abilitare Photon, è necessario impostare l'attributo runtime_engine su PHOTON.
Tipi di istanza supportati
Photon supporta diversi tipi di istanza nei nodi driver e di lavoro. I tipi di istanza di Photon consumano DBU a un tasso diverso rispetto allo stesso tipo di istanza che esegue il runtime non Photon. Per altre informazioni sulle istanze di Photon e sul consumo di DBU, si veda la pagina dei prezzi di Azure Databricks.
Operatori, espressioni e tipi di dati supportati
Di seguito sono riportati gli operatori, le espressioni e i tipi di dati coperti da Photon.
Operatori
- Scansione, Filtro, Progetto
- Aggregazione Hash/Join/Shuffle
- Nested-Loop unisci
- Anti Join Consapevole di Null
- Unione, Espansione, ScalarSubquery
- Delta/Parquet Write Sink
- Ordinamento
- Funzione Window
Espressioni
- Confronto / Logica
- Aritmetica / Matematica (la maggior parte)
- Condizionale (IF, CASE e così via)
- Stringa (quelle comuni)
- Cast
- Aggregazioni (le più comuni)
- Data/ora
Tipo di dati
- Byte/Short/Int/Long
- Booleano
- String / Binary
- Decimale
- Float / Double
- Data/ora
- Struttura
- Array
- Mappa
Funzionalità che richiedono Photon
Di seguito sono riportate le funzionalità che richiedono Photon.
- I/O predittivo per la lettura e la scrittura. Si veda Che cos'è l'I/O predittivo?.
- Eliminazione dinamica dei file nelle istruzioni
MERGE,UPDATEeDELETE. Si veda Eliminazione dinamica di file.
Limiti
- Flusso strutturato: Photon supporta attualmente lo streaming senza stato con i formati Delta, Parquet, CSV e JSON. Lo streaming stateless di Kafka e Kinesis è supportato quando si scrive su un Delta o Parquet sink.
- Photon non supporta le UDF, le API RDD o le API Dataset.
- Photon non influisce sulle query che normalmente vengono eseguite in meno di due secondi.
Se il carico di lavoro raggiunge un'operazione non supportata, la risorsa di calcolo si commuta al motore di esecuzione standard per il resto del carico di lavoro.