Freigeben über


Tabellengröße für Azure Databricks

Die für Azure Databricks-Tabellen gemeldete Tabellengröße unterscheidet sich von der Gesamtgröße der entsprechenden Dateiverzeichnisse im Cloudobjektspeicher. Auf dieser Seite wird erläutert, warum dieser Unterschied besteht, und Empfehlungen für die Kostenkontrolle.

Warum stimmt meine Tabellengröße nicht mit der Verzeichnisgröße überein?

In Azure Databricks über UIs und DESCRIBE Befehle gemeldete Tabellengrößen beziehen sich auf die Gesamtgröße von Datendateien auf dem Datenträger für diese Dateien, auf die in der aktuellen Version der Tabelle verwiesen wird. Die meisten Vorgänge, die in Tabellen schreiben, erfordern das Umschreiben zugrunde liegender Datendateien, alte Datendateien werden jedoch für einen bestimmten Zeitraum aufbewahrt, um Zeitreiseabfragen zu unterstützen.

Hinweis

Wenn Sie Datensätze in Tabellen regelmäßig löschen oder aktualisieren, können Vektoren Löschvektoren Abfragen beschleunigen und die Gesamtgröße von Datendateien verringern. Siehe Löschungsvektoren in Databricks.

Berechnen von Speichermetriken für eine Tabelle

Gilt für:mit Häkchen markiert ja Databricks Runtime 18.0 und höher

Um zu verstehen, warum sich die Gesamtspeichergröße von der Tabellengröße unterscheidet, verwenden Sie ANALYZE TABLE … COMPUTE STORAGE METRICS. Dieser Befehl bietet eine detaillierte Aufschlüsselung der Speicherzuweisung, die Ihnen hilft:

  • Ermitteln von Kostenoptimierungsmöglichkeiten: Sehen Sie, wie viel Speicherplatz zurückgewonnen werden kann mit VACUUM
  • Analysieren des Zeitaufwands für die Reise: Verstehen der Kosten für die Aufbewahrung von historischen Daten
  • Nachverfolgen von Speichermustern: Überwachen Sie, wie sich der Tabellenspeicher im Laufe der Zeit weiterentwickelt, indem Sie den Befehl regelmäßig ausführen.
  • Prüfen des Speichers über Tabellen hinweg: Führen Sie den Befehl in einer Schleife aus, um Ihren gesamten Datenbestand zu analysieren.

Der Befehl gibt umfassende Metriken zurück, einschließlich:

  • Gesamtspeichergröße: Vollständiger Speicherbedarf einschließlich aller Daten, Metadaten und Protokolle
  • Aktive Daten: Größe der aktuellen Tabellenversion
  • Freigebbare Daten: Speicherplatz, der zurückgewonnen werden kann
  • Zeitreisedaten: Historische Daten für Rollbacks

Dies ist besonders nützlich für verwaltete Tabellen im Unity-Katalog, in denen Azure Databricks den Speicher automatisch durch eine predictive Optimierung verwaltet.

Vollständige Syntax und Beispiele finden Sie unter COMPUTE STORAGE METRICS .

Verwenden der prädiktiven Optimierung zum Steuern der Datengröße

Databricks empfiehlt die Verwendung von verwalteten Unity Catalog Tabellen mit aktivierter Vorhersageoptimierung. Mit verwalteten Tabellen und prädiktiver Optimierung führt Databricks automatisch OPTIMIZE und VACUUM Befehle aus, um die Erstellung nicht verwendeter Datendateien zu verhindern. Erwarten Sie, dass zwischen der aktuellen Version einer Tabelle und der Gesamtgröße von Datendateien im Cloudobjektspeicher immer ein Unterschied besteht. Dies liegt daran, dass Datendateien, auf die in der aktuellen Version nicht verwiesen wird, erforderlich sind, um Zeitreiseabfragen zu unterstützen. Siehe Prädiktive Optimierung für verwaltete Unity Catalog-Tabellen.

Welche Dateimetriken werden von VACUUM berichtet?

Wenn Sie nicht verwendete Datendateien mit VACUUM bereinigen oder DRY RUN verwenden, um eine Vorschau der zum Entfernen festgelegten Dateien anzuzeigen, melden Metriken die Anzahl der Dateien und die Größe der entfernten Daten. Die Größe und Anzahl der von VACUUM entfernten Dateien variiert drastisch, aber es ist nicht ungewöhnlich, dass die Größe der entfernten Dateien die Gesamtgröße der aktuellen Version der Tabelle überschreitet.

Welche Dateimetriken werden von OPTIMIZE berichtet?

Wenn OPTIMIZE in einer Zieltabelle ausgeführt wird, kombinieren neue Datendateien Datensätze aus vorhandenen Datendateien. Änderungen, die während OPTIMIZE übernommen wurden haben nur Auswirkung auf die Datenorganisation, und es treten keine Änderungen an den zugrunde liegenden Dateninhalten auf. Die Gesamtgröße der mit der Tabelle verknüpften Datendateien nimmt nach Ausführung von OPTIMIZE zu, da die neuen komprimierten Dateien im enthaltenden Verzeichnis mit den nicht mehr referenzierten Datendateien koexistieren.

Die Größe der Tabelle, die nach OPTIMIZE gemeldet wurde, ist im Allgemeinen kleiner als die Größe vor Ausführung von OPTIMIZE, da die Gesamtgröße von Datendateien, auf die von der aktuellen Tabellenversion verwiesen wird, mit der Datenkomprimierung verringert wird. VACUUM muss ausgeführt werden, nachdem der Rententionsschwellenwert überschritten wurde, um die zugrunde liegenden Datendateien zu entfernen.

Hinweis

Möglicherweise werden ähnliche Metriken für Vorgänge wie z. B. REORG TABLE oder DROP FEATURE. Alle Vorgänge, die das Umschreiben von Datendateien erfordern, erhöhen die Gesamtgröße der Daten im enthaltenden Verzeichnis, bis VACUUM Datendateien entfernt, auf die in der aktuellen Tabellenversion nicht mehr verwiesen wird.