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.
Ab Databricks Runtime 18.1 verfügbar, verbessert Parquet v2 die Abfrageleistung und reduziert den Speicherbedarf für Delta Lake- und Apache Iceberg-Tabellen durch die Verwendung erweiterter Codierungen, von v2-Datenseiten-Headern und INT64 Zeitstempeln.
Funktionsweise von Parkett v2
Parkett v2 führt Verbesserungen des Datendateiformats ein, die die Speicherung reduzieren und die Leseleistung verbessern:
- Erweiterte Codierungen: Ganzzahl- und Zeichenfolgenspalten verwenden neue Codierungen mit effizienterer Komprimierung und Decodierung im Vergleich zu den in Parkett v1 verwendeten Codierungen.
- V2-Datenseitenheader: Statistiken und Indizes auf Seitenebene verbessern das Prädikat-Pushdown und das Überspringen von Daten, wodurch die Menge der zur Abfragezeit gescannten Daten reduziert wird.
-
INT64-Zeitstempel:
INT64Zeitstempel ersetzen den älterenINT96Zeitstempel, verbessern Spaltenstatistiken und Zeitstempelcodierung und Komprimierung.
Parquet v2 aktivieren
Azure Databricks aktualisiert automatisch kompatible Unity Catalog verwaltete Tabellen auf Parkett v2. Weitere Informationen finden Sie unter "Automatische Upgrades".
Um Parquet v2 manuell zu aktivieren, setzen Sie die Tabelleneigenschaft parquet.format.version unter Verwendung des entsprechenden Präfixes für Ihren Tabellentyp auf 2.12.0. Überprüfen Sie vor der manuellen Aktivierung die Einschränkungen.
So aktivieren Sie Parkett v2 auf einem vorhandenen Tisch:
Delta Lake
ALTER TABLE <table_name> SET TBLPROPERTIES ('delta.parquet.format.version' = '2.12.0');
Iceberg
ALTER TABLE <table_name> SET TBLPROPERTIES ('iceberg.parquet.format.version' = '2.12.0');
So aktivieren Sie Parkett v2 auf einem neuen Tisch:
Delta Lake
CREATE TABLE <table_name> (...)
TBLPROPERTIES ('delta.parquet.format.version' = '2.12.0');
Iceberg
CREATE TABLE <table_name> (...)
USING iceberg
TBLPROPERTIES ('iceberg.parquet.format.version' = '2.12.0');
Nachdem Sie die Eigenschaft festgelegt haben, verwenden alle nachfolgenden Schreibvorgänge v2-Codierungen. Dateien im Format Parquet v1 und v2 können in derselben Tabelle nebeneinander existieren. Vorhandene Datendateien werden nicht automatisch neu geschrieben. Um bei Delta Lake-Tabellen vorhandene Dateien in v2 umzuschreiben, verwenden Sie REORG TABLE in Databricks Runtime 18.2 und höher:
REORG TABLE <table_name> APPLY (SET PARQUET (FORMAT_VERSION = '2.12.0'));
Siehe Referenz der Tabelleneigenschaften für die vollständige Referenz der Tabelleneigenschaften.
Auf Parquet v1 zurücksetzen
In Databricks Runtime 18.2 und höher führen Sie REORG TABLE mit der Option SET PARQUET aus, um eine einzelne Tabelle auf die v1-Codierung zurückzusetzen:
REORG TABLE <table_name> APPLY (SET PARQUET (FORMAT_VERSION = '1.0.0'));
Dieser Befehl schreibt alle Datendateien mit v1-Codierungen um und setzt die delta.parquet.format.version Tabelleneigenschaft auf 1.0.0.
Siehe REORG TABLE für die vollständige REORG TABLE-Syntax.
Einschränkungen
Parkett v2 hat die folgenden Einschränkungen:
- Für externe Engines unterstützen einige Apache-Iceberg-Reader möglicherweise Parquet v2 für Iceberg-Tabellen nicht. Sie müssen überprüfen, ob die Iceberg-Reader kompatibel sind, bevor Sie Parquet v2 für Iceberg-Tabellen aktivieren.
- Stellen Sie bei OpenSharing vor dem Aktivieren von Parkett v2 sicher, dass die Leserclients für OpenSharing-Empfänger Die Codierungen von Parkett v2 unterstützen.
- Materialisierte Ansichten und Streamingtabellen werden nicht automatisch auf Parkett v2 aktualisiert. Sie können Parquet v2 für diese Tabellentypen in Databricks Runtime 18.1 und höher manuell aktivieren.