Qu’est-ce que Photon ?

S’applique à : check marked yes Databricks SQL check marked yes Databricks Runtime 9.1 et versions ultérieures

Découvrez les avantages de l’exécution de vos charges de travail sur Photon, les fonctionnalités qu’il prend en charge et la façon d’activer ou de désactiver Photon. Photon est activé par défaut dans les entrepôts Databricks SQL et est compatible avec les API Apache Spark. Il fonctionne donc avec votre code existant.

À quoi sert Photon ?

Photon est un moteur de requête vectorisé natif d’Azure Databricks. Très performant, il exécute vos charges de travail SQL et appels d’API DataFrame plus rapidement pour réduire votre coût total par charge de travail.

Voici les principales fonctionnalités de Photon et les avantages qui découlent de son utilisation.

  • Prise en charge des opérations SQL et DataFrame équivalentes avec des tables Delta et Parquet.
  • Requêtes accélérées qui traitent les données plus rapidement et incluent des agrégations et des jointures.
  • Performances plus rapides lorsque l’accès aux données s’effectue à plusieurs reprises à partir du cache de disque.
  • Analyses plus performantes sur les tables comportant de nombreuses colonnes et de nombreux petits fichiers.
  • Écriture Delta et Parquet plus rapide avec UPDATE, DELETE, MERGE INTO, INSERT et CREATE TABLE AS SELECT, notamment dans des tables larges contenant des milliers de colonnes.
  • Remplace les jointures de fusion de tri par des jointures de hachage.

Bien démarrer avec Photon

Photon est activé par défaut sur les clusters exécutant Databricks Runtime 9.1 LTS et ultérieur.

Pour désactiver ou activer manuellement Photon sur votre cluster, cochez la case Utiliser l’accélération Photon quand vous créez ou modifiez le cluster.

Si vous créez le cluster en utilisant l’API Clusters, définissez runtime_engine sur PHOTON.

Types d’instances

Photon prend en charge un certain nombre de types d’instances sur les nœuds Worker et de pilote. Les types d’instance de photons consomment DBUs à un taux différent du même type d’instance exécutant le runtime non-photon. Pour plus d’informations sur les instances de photons et la consommation de DBU, consultez la page de tarification Azure Databricks.

Opérateurs, expressions et types de données

Voici les opérateurs, expressions et types de données couverts par Photon.

Opérateurs

  • Analyse, Filtre, Projet
  • Agrégat de hachage/Jointure/Shuffle
  • Jointure de boucle imbriquée
  • Anti-jointure compatible avec Null
  • Union, Extension, ScalarSubquery
  • Récepteur d’écriture Delta/Parquet
  • Trier
  • Fonction de fenêtre

Expressions

  • Comparaison / Logique
  • Arithmétique / Mathématique (la plupart)
  • Conditionnel (IF, CASE, etc.)
  • Chaîne (les plus courantes)
  • Casts
  • Agrégats (les plus courants)
  • Date/Horodatage

Types de données

  • Octet/Short/Int/Long
  • Boolean
  • String/binaire
  • Decimal
  • Float/Double
  • Date/Horodatage
  • Struct
  • Array
  • Mappage

Fonctionnalités qui nécessitent Photon

Voici les fonctionnalités qui nécessitent Photon.

Limites

  • Flux structuré : Photon prend actuellement en charge la diffusion sans état avec Delta, Parquet, CSV et JSON. Le streaming Kafka et Kinesis sans état est pris en charge lors de l’écriture dans un récepteur Delta ou Parquet.
  • Photon ne prend pas en charge les UDF ou les API RDD.
  • Photon n’affecte pas les requêtes qui s’exécutent normalement en moins de deux secondes.

Les fonctionnalités non prises en charge par Photon s’exécutent de la même façon qu’avec Databricks Runtime.