Freigeben über


Was ist Photon?

In diesem Artikel werden die Vorteile der Ausführung Ihrer Workloads im Photon-Abfragemodul erläutert.

Photon ist ein leistungsstarkes Azure Databricks-natives vektorisiertes Abfragemodul, das Ihre SQL-Workloads und DataFrame-API-Aufrufe schneller ausführt, um Ihre Gesamtkosten pro Workload zu senken. Photon ist mit Apache Spark-APIs kompatibel, sodass es mit Ihrem vorhandenen Code funktioniert.

Photon-Features

Im Folgenden finden Sie wichtige Features und Vorteile der Verwendung von Photon.

  • Unterstützung für SQL und entsprechende DataFrame-Vorgänge mit Delta- und Parquet-Tabellen.
  • Beschleunigte Abfragen, die Daten schneller verarbeiten und Aggregationen und Verknüpfungen enthalten.
  • Schnellere Leistung, wenn wiederholt über den Datenträgercache auf Daten zugegriffen wird.
  • Stabile Scanleistung für Tabellen mit vielen Spalten und vielen kleinen Dateien.
  • Schnelleres Schreiben von Delta und Parkett mithilfe von UPDATE, DELETE, MERGE INTO, INSERT und CREATE TABLE AS SELECT, einschließlich breite Tabellen, die Tausende von Spalten enthalten.
  • Ersetzt Sort-Merge-Joins durch Hash-Joins.
  • Bei KI- und ML-Workloads verbessert Photon die Leistung von Anwendungen mit Spark SQL, Spark DataFrames, Feature Engineering, GraphFrames und xgboost4j.

Photon-Aktivierung

Die Photon-Aktivierung variiert je nach Compute-Typ:

Konfigurieren der Photon-Aktivierung

Zum Aktivieren oder Deaktivieren von Photon auf allen Zweck- und Jobs Compute aktivieren oder deaktivieren Sie das Kontrollkästchen Photon-Beschleunigung verwenden in der Compute-Benutzeroberfläche.

Photon ist für jede Berechnung, die mit der Cluster-API oder Jobs-API erstellt wurde, standardmäßig nicht aktiviert. Um Photon zu aktivieren, müssen Sie das runtime_engine-Attribut auf PHOTON setzen.

Unterstützte Instanztypen

Photon unterstützt eine begrenzte Anzahl von Instanztypen auf den Treiber- und Workerknoten. Photon-Instanztypen verbrauchen DBUs mit einer anderen Rate als gleiche Instanztypen, auf denen die Nicht-Photon-Runtime ausgeführt wird. Weitere Informationen zu Photon-Instanzen und zum DBU-Verbrauch finden Sie auf der Azure Databricks-Preisseite.

Unterstütze Operatoren, Ausdrücke und Datentypen

Im Folgenden sind die Operatoren, Ausdrücke und Datentypen aufgeführt, die Photon abdeckt.

Operatoren

  • Scan, Filter, Project
  • Hash Aggregate/Join/Shuffle
  • Join geschachtelter Schleifen
  • NULL-fähiger Anti-Join
  • Union, Expand, ScalarSubquery
  • Delta/Parquet-Schreibsenke
  • Sortieren
  • Fensterfunktion

Ausdrücke

  • Vergleich/Logik
  • Arithmetik/Mathematik (die meisten)
  • Bedingt (IF, CASE usw.)
  • Zeichenfolge (gängige Zeichenfolgen)
  • Umwandlungen
  • Aggregate (die gängigsten)
  • Datum/Zeitstempel

Datentypen

  • Byte/Short/Int/Long
  • Boolean
  • Zeichenfolge/Binär
  • Decimal
  • Float/Double
  • Datum/Zeitstempel
  • Struktur
  • Array
  • Map

Features, die Photon erfordern

Im Folgenden finden Sie Features, die Photon erfordern.

Begrenzungen

  • Strukturiertes Streaming: Photon unterstützt derzeit zustandsloses Streaming mit Delta, Parquet, CSV und JSON. Zustandsloses Kafka- und Kinesis-Streaming wird beim Schreiben in eine Delta- oder Parquet-Senke unterstützt.
  • Photon unterstützt keine UDFs oder RDD-APIs.
  • Photon wirkt sich nicht auf Abfragen aus, die normalerweise in unter zwei Sekunden ausgeführt werden.

Wenn Ihre Workload auf einen nicht unterstützten Vorgang trifft, wechselt die Compute-Ressource für den Rest der Workload zum Standardausführungsmodul.