Runtime photon

Photon è il motore di query vettorializzato nativo in Azure Databricks, scritto per essere direttamente compatibile con le API apache Spark in modo che funzioni con il codice esistente. Viene sviluppato in C++ per sfruttare i vantaggi dell'hardware moderno e usa le tecniche più recenti nell'elaborazione di query vettorializzate per capitalizzare il parallelismo a livello di dati e istruzioni nelle CPU, migliorando le prestazioni su dati e applicazioni reali, tutto in modo nativo nel data lake. Photon fa parte di un runtime ad alte prestazioni che esegue le chiamate API SQL e DataFrame esistenti più velocemente e riduce il costo totale per carico di lavoro. Photon viene usato per impostazione predefinita in Databricks SQL Warehouses.

Cluster di Azure Databricks

Photon è disponibile per i cluster che eseguono Databricks Runtime 9.1 LTS e versioni successive.

Per abilitare l'accelerazione Photon, selezionare la casella di controllo Usa accelerazione foton quando si crea il cluster. Se si crea il cluster usando l'API cluster, impostare su runtime_enginePHOTON.

Photon supporta diversi tipi di istanza nei nodi driver e di lavoro. I tipi di istanza photon utilizzano le 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 DBU, vedere la pagina dei prezzi di Azure Databricks.

Copertura foton

Operatori

  • Analisi, filtro, progetto
  • Aggregazione hash/join/shuffle
  • Nested-Loop Join
  • anti join Null-Aware
  • Union, Expand, ScalarSubquery
  • Sink di scrittura Delta/Parquet
  • Ordina
  • Funzione Window

Espressioni

  • Confronto/logica
  • Aritmetica/Matematica (la maggior parte)
  • Condizionale (IF, CASE e così via)
  • Stringa (quelle comuni)
  • Cast
  • Aggregazioni (più comuni)
  • Data/timestamp

Tipi di dati

  • Byte/Short/Int/Long
  • Boolean
  • Stringa/binaria
  • Decimal
  • Float/Double
  • Data/timestamp
  • Struct
  • Array
  • Mappa

Vantaggi di Photon

  • Supporta operazioni SQL e dataframe equivalenti su tabelle Delta e Parquet.
  • Previsto accelerare le query che elaborano una quantità significativa di dati (100 GB+) e includono aggregazioni e join.
  • Prestazioni più veloci quando si accede ripetutamente ai dati dalla cache del disco.
  • Prestazioni di analisi più affidabili sulle tabelle con molte colonne e molti file di piccole dimensioni.
  • Scrittura Delta e Parquet più veloci usando UPDATE, DELETE, MERGE INTO, INSERTe CREATE TABLE AS SELECT, soprattutto per le tabelle estese (centinaia a migliaia di colonne).
  • Sostituisce i join di tipo sort-merge con hash join.

Limitazioni

  • Non supporta Spark Structured Streaming.
  • Non supporta le funzioni definite dall'utente.
  • Non supporta le API RDD.
  • Non è previsto un miglioramento delle query a esecuzione breve (<2 secondi), ad esempio query su piccole quantità di dati.

Le funzionalità non supportate da Photon vengono eseguite allo stesso modo con Databricks Runtime; non esiste alcun vantaggio in termini di prestazioni per tali funzionalità.