Photon

Wichtig

Dieses Feature befindet sich in der Public Preview.

Photon ist die native vektorisierte Abfrage-Engine auf Azure Databricks, die so geschrieben wurde, dass sie direkt mit Apache Spark-APIs kompatibel ist, damit sie mit Ihrem vorhandenen Code funktioniert. Es wurde in C++ entwickelt, um moderne Hardware zu nutzen, und verwendet die neuesten Techniken bei der vektorisierten Abfrageverarbeitung, um die Parallelität auf Daten- und Anweisungsebene in CPUs zu nutzen und die Leistung für reale Daten und Anwendungen zu verbessern – alles nativ in Ihrem Data Lake. Photon ist Teil einer Hochleistungslaufzeit, mit der Ihre vorhandenen SQL- und DataFrame-API-Aufrufe schneller ausgeführt werden und Ihre Gesamtkosten pro Workload reduziert werden.

Die Photon-Aktivierung hängt davon ab, ob Sie Azure Databricks-Cluster oder Databricks-SQL verwenden.

Azure Databricks Von Clustern

Um auf Photon in Azure Databricks-Clustern zuzugreifen, müssen Sie beim Erstellen des Clusters explizit eine Runtime auswählen, die Photon enthält. Verwenden Sie dazu entweder die Benutzeroberfläche oder die APIs (Cluster-API 2.0 und Jobs-API 2.1unter Angabe der Syntax ). Photon ist für Cluster mit Databricks Runtime 8.3 und Databricks Runtime 8.3 Photon und höher verfügbar.

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

Databricks SQL Endpunkte

Photon ist standardmäßig in Databricks SQL aktiviert. Sie können bestätigen, dass Photon für einen SQL-Endpunkt aktiviert ist, indem Sie in der Randleiste auf Endpunktsymbol SQL Endpunkte klicken, den Endpunkt auswählen und überprüfen, ob der Wert für Photon auf On (Ein)ist.

Vorteile

Im Folgenden werden die Vorteile von Photon zusammengefasst:

  • Unterstützt SQL und entsprechende DataFrame-Vorgänge für Delta- und Parquet-Tabellen.
  • Erwartet, um Abfragen zu beschleunigen, die eine erhebliche Datenmenge (100 GB+) verarbeiten und Aggregationen und Joins enthalten.
  • Schnellere Leistung, wenn wiederholt über den Deltacache auf Daten zugegriffen wird.
  • Stabilere Scanleistung für Tabellen mit vielen Spalten und vielen kleinen Dateien.
  • Schnelleres Delta- und Parquet-Schreiben mit , , , und , insbesondere für breite Tabellen UPDATEDELETEMERGE INTOINSERTCREATE TABLE AS SELECT (Hunderte bis Tausende von Spalten).
  • Ersetzt Sort-Merge-Joins durch Hash-Joins.

Einschränkungen

  • Funktioniert nur für Delta- und Parquet-Tabellen sowohl für Lese- als auch für Schreibzugriff.
  • Fenster- und Sortieroperatoren werden nicht unterstützt.
  • Spark Structured Streaming wird nicht unterstützt.
  • UdFs werden nicht unterstützt.
  • Es wird nicht erwartet, dass Abfragen mit kurzer Ausführung ( 2 Sekunden) verbessert werden, z. B. Abfragen für < kleine Datenmengen.

Features, die nicht von Photon unterstützt werden, werden auf die gleiche Weise ausgeführt wie Databricks Runtime; es gibt keinen Leistungsvorteil für diese Features.