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
undCREATE 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:
Photon wird standardmäßig in SQL-Warehouses und serverloses Computing für Notebooks und Workflows ausgeführt.
Photon ist in Computes mit Databricks Runtime 9.1 LTS und höher standardmäßig aktiviert.
Photon kann bei der Berechnung von Databricks Runtime 15.2 für Maschinelles Lernen oder höher manuell aktiviert werden.
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.
- Vorhersage-E/A für Lesen und Schreiben. Siehe Was ist Predictive I/O?.
- H3-Geodatenausdrücke. Weitere Informationen finden Sie unter H3-Geodatenfunktionen.
- Dynamische Dateibereinigung. Siehe Dynamische Dateibereinigung.
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.