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.
Variant Shredding verbessert die Abfrageleistung für VARIANT-Spalten, indem häufig vorkommende Felder als separate Spalten in den zugrunde liegenden Parquet-Dateien gespeichert werden. Durch das Aufteilen wird der zum Lesen von Feldern erforderliche Ein-/Ausgabeaufwand reduziert, und die Komprimierung wird durch die Verwendung eines spaltenorientierten Formats anstelle eines binären Blobs verbessert.
Siehe VARIANT Datentyp, Unterstützung des Variant-Typs für Apache Iceberg und Delta Lake und Variant-Daten abfragen.
Requirements
Databricks Runtime 17.3 oder höher ist erforderlich, um geschredderte VARIANT-Tabellen zu lesen und zu schreiben. Für eine optimale Abfrageleistung bei der Erfassung von Variantenstatistiken und dem Datenüberspringen empfiehlt Databricks Databricks Runtime 18.1 oder höher.
Schreddern aktivieren
Ab Databricks Runtime 17.3 ist Shredding automatisch aktiviert, wenn Sie mit VARIANT eine neue Tabelle mit einer oder mehreren CREATE TABLE Spalten erstellen.
CREATE OR REPLACE TABLE und ALTER TABLE aktivieren das Schreddern nicht automatisch. Dadurch wird verhindert, dass das Zerlegungsverhalten vorhandener Tabellen und Workloads verändert wird.
Für vorhandene Tabellen können Sie Shredding manuell aktivieren, indem Sie die Tabelleneigenschaft enableVariantShredding auf TRUE festlegen, und deaktivieren, indem Sie die Eigenschaft auf FALSE festlegen:
Delta Lake
ALTER TABLE my_table SET TBLPROPERTIES ('delta.enableVariantShredding' = 'true');
Eisbergtisch
ALTER TABLE my_table SET TBLPROPERTIES ('iceberg.enableVariantShredding' = 'true');
Vergewissern Sie sich, dass das Shredding aktiviert ist, indem Sie überprüfen, ob die Tabelleneigenschaft enableVariantShredding auf true gesetzt ist.
Deaktivieren von Shredding für eine bestimmte Tabelle
Um eine bestimmte Tabelle bei zukünftigen Schreibvorgängen vom Shredding auszuschließen, legen Sie die Tabelleneigenschaft enableVariantShredding auf FALSE fest:
Delta Lake
ALTER TABLE my_table SET TBLPROPERTIES ('delta.enableVariantShredding' = 'false');
Eisbergtisch
ALTER TABLE my_table SET TBLPROPERTIES ('iceberg.enableVariantShredding' = 'false');
Entfernen von Shredding aus einer vorhandenen Tabelle
Um das Shredding bei einer bestehenden Tabelle zu entfernen, verwenden Sie den ALTER TABLE Befehl, um das Feature zu löschen. Bei diesem Vorgang werden auch zerkleinerte VARIANT Daten in das nicht zerkleinerte VARIANT Format umgeschrieben und die enableVariantShredding Tabelleneigenschaft auf "false" festgelegt.
ALTER TABLE my_table DROP FEATURE "variantShredding";
Limitations
- Das Zerkleinern von Daten führt zu einem gewissen Aufwand bei Schreibvorgängen.
- Das Aktivieren der Zerkleinerung konvertiert vorhandene
VARIANT-Daten in einer Tabelle nicht automatisch. Sie gilt nur für Daten, die geschrieben wurden, nachdem das Feature aktiviert wurde. Verwenden SieVARIANTzum Umschreiben vorhandenerREORG TABLE my_table APPLY (SHRED VARIANT)Daten. - Shredding gilt für
VARIANT-Spalten auf oberster Ebene oderVARIANT-Felder in Strukturen, ausgenommenVARIANT-Daten, die in Arrays oder Zuordnungen gespeichert sind.