Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Hinweis
Low Shuffle Merge ist in Databricks Runtime 10.4 LTS und höher allgemein verfügbar (GA) und in der Öffentlichen Vorschau in Databricks Runtime 9.1 LTS. Databricks empfiehlt, dass Preview-Kunden zu Databricks Runtime 10.4 LTS oder höher migrieren.
Der BEFEHL MERGE wird verwendet, um gleichzeitige Aktualisierungen, Einfügungen und Löschungen aus einer Delta Lake-Tabelle auszuführen. Azure Databricks verfügt über eine optimierte Implementierung von MERGE, die die Leistung für häufige Workloads erheblich verbessert, indem die Anzahl der Shuffle-Vorgänge reduziert wird.
Databricks low shuffle merge bietet eine bessere Leistung, indem unmodifizierte Zeilen in einem separaten, optimierteren Verarbeitungsmodus verarbeitet werden, anstatt sie zusammen mit den geänderten Zeilen zu verarbeiten. Somit wird die Menge der durchmischten Daten erheblich reduziert, was zu einer verbesserten Leistung führt. Die Zusammenführung mit geringem Shuffle reduziert auch die Notwendigkeit, dass Benutzer den OPTIMIZE Befehl ZORDER BY nach dem Ausführen eines MERGE Vorgangs erneut ausführen müssen.
Optimierte Leistung
Viele MERGE Workloads aktualisieren nur eine relativ kleine Anzahl von Zeilen in einer Tabelle. Delta-Tabellen können jedoch nur pro Datei aktualisiert werden. Wenn der MERGE Befehl eine kleine Anzahl von Zeilen aktualisieren oder löschen muss, die in einer bestimmten Datei gespeichert sind, muss er auch alle verbleibenden Zeilen verarbeiten und neu schreiben, die in derselben Datei gespeichert sind, auch wenn diese Zeilen unverändert sind. Die Zusammenführung mit geringem Shuffle optimiert die Verarbeitung nicht geänderter Zeilen. Zuvor wurden sie auf die gleiche Weise wie geänderte Zeilen verarbeitet und durchliefen mehrere Shuffle-Phasen und teure Berechnungen. Bei der Zusammenführung mit geringem Shuffle werden die nicht geänderten Zeilen stattdessen ohne Shuffles, teure Verarbeitung oder sonstigen zusätzlichen Aufwand verarbeitet.
Optimiertes Datenlayout
Neben der schnelleren Ausführung profitieren auch nachfolgende Vorgänge von einem geringen Shuffle-Merge. Die frühere MERGE Implementierung führte dazu, dass das Datenlayout von nicht geänderten Daten vollständig geändert wurde, was zu einer geringeren Leistung bei nachfolgenden Vorgängen führte. Die Zusammenführung mit geringer Shuffle-Operation versucht, das vorhandene Datenlayout der nicht geänderten Datensätze aufrechtzuerhalten, einschließlich der Optimierung der Z-Reihenfolge nach dem Best-Effort-Prinzip. Daher wird die Leistung von Vorgängen in einer Delta-Tabelle bei geringem Shuffle-Merge nach dem Ausführen eines oder mehrerer MERGE-Befehle langsamer abnehmen.
Hinweis
Die Zusammenführung mit geringem Shuffle versucht, das Datenlayout für vorhandene Daten beizubehalten, die nicht geändert werden. Das Datenlayout aktualisierter oder neu eingefügter Daten ist möglicherweise nicht optimal, daher kann es dennoch erforderlich sein, die OPTIMIZE Befehle oder OPTIMIZE ZORDER BY auszuführen.
Verfügbarkeit
Die Zusammenführung mit geringem Shuffle ist in Databricks Runtime 10.4 und höher standardmäßig aktiviert. In früher unterstützten Databricks-Runtime-Versionen kann sie durch Festlegen der Konfiguration spark.databricks.delta.merge.enableLowShuffle auf trueaktiviert werden. Dieses Kennzeichen hat keine Auswirkung in Databricks Runtime 10.4 und höher.