Condividi tramite


Che cos'è Photon?

Questo articolo illustra i vantaggi dell'esecuzione 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 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 più veloce nei formati Delta e Parquet usando UPDATE, DELETE, MERGE INTO, INSERT, e CREATE TABLE AS SELECT, incluse tabelle ampie che contengono migliaia di colonne.
  • Sostituisce i join di tipo sort-merge con hash-join.
  • 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 nel calcolo che esegue 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 alcun calcolo creato con l'API Clusters o l'API Processi. 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 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, 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
  • Null-Aware Anti Join
  • Unione, Espansione, ScalarSubquery
  • Sink di scrittura Delta/Parquet
  • 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)
  • Date/Timestamp

Tipo di dati

  • Byte/Short/Int/Long
  • Booleano
  • String / Binary
  • Decimale
  • Float / Double
  • Date/Timestamp
  • Struct
  • Array
  • Mappa

Funzionalità che richiedono Photon

Di seguito sono riportate le funzionalità che richiedono Photon.

Limiti

  • Flusso strutturato: Photon supporta attualmente lo streaming senza stato con Delta, Parquet, CSV e JSON. Lo streaming stateless di Kafka e Kinesis è supportato quando si scrive su un sink Delta o Parquet.
  • 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 passa al motore di runtime standard per il resto del carico di lavoro.