Optimieren der Leistung bei den VARIANT-Daten mit Zerlegung

Von Bedeutung

Dieses Feature befindet sich in der Betaversion. Arbeitsbereichsadministratoren können den Zugriff auf dieses Feature über die Vorschauseite steuern. Siehe Verwalten von Azure Databricks-Vorschauen.

Auf dieser Seite wird beschrieben, wie Sie durch den Einsatz von Shredding die Abfrageleistung für Tabellen mit halbstrukturierten Daten in VARIANT Spalten optimieren.

Siehe VARIANT Typ-, Variant-Typunterstützung und Abfragevariantendaten.

Was ist Schreddern?

Das Schrumpfen verbessert die Abfrageleistung von VARIANT Daten, indem häufig vorkommende Felder als separate Spalten in den Parkettdateien gespeichert werden. Dieser Prozess reduziert die zum Lesen von Feldern erforderliche E/A und verbessert die Komprimierung mithilfe eines Spaltenformats anstelle eines binären BLOB.

Anforderungen

Databricks Runtime 17.2 oder höher ist erforderlich, um Shredded VARIANT-Tabellen zu lesen und zu schreiben.

Schreddern aktivieren

Aktivieren Sie die Dokumentenvernichtung in allen Bereichen Ihres Arbeitsbereichs über das Preview-Portal. Es sind keine Codeänderungen erforderlich, um Daten mit Zerkleinerung zu lesen oder zu schreiben VARIANT .

Nachdem Sie das Feature für Ihren Arbeitsbereich aktiviert haben, wird die Vernichtung für die folgenden Szenarien automatisch aktiviert:

  • CREATE TABLE mit einer oder mehreren VARIANT Spalten.
  • CREATE AND REPLACE TABLE mit einer oder mehreren VARIANT Spalten.
  • ALTER TABLE beim Hinzufügen einer oder mehrerer VARIANT Spalten.

Bei vorhandenen Tabellen können Sie manuell zur Fragmentierung wechseln, indem Sie die Tabelleneigenschaft auf enableVariantShredding setzen, oder Sie können sich davon abmelden, indem Sie die Eigenschaft auf FALSE setzen, vorausgesetzt, dass Fragmentierung auf Arbeitsbereichsebene aktiviert ist.

Delta-Tabelle

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 der Löschung für zukünftige Schreibvorgänge in einer bestimmten Tabelle

Wenn Sie die Zerkleinerung Beta für Ihren Arbeitsbereich aktivieren, aber eine bestimmte Tabelle ausschließen möchten, legen Sie die enableVariantShredding Tabelleneigenschaft fest:

Delta-Tabelle

ALTER TABLE my_table SET TBLPROPERTIES ('delta.enableVariantShredding' = 'false');

Eisbergtisch

ALTER TABLE my_table SET TBLPROPERTIES ('iceberg.enableVariantShredding' = 'false');

Entfernen der Löschung in 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-preview";

Einschränkungen

  • Das Zerkleinern von Daten führt zu einem gewissen Aufwand bei Schreibvorgängen.
  • Wenn Shredding aktiviert ist, werden vorhandene Daten VARIANT in einer Tabelle nicht automatisch konvertiert. Sie gilt nur für Daten, die geschrieben wurden, nachdem das Feature aktiviert wurde. Verwenden Sie VARIANT zum Umschreiben vorhandener REORG TABLE my_table APPLY (SHRED VARIANT) Daten.
  • Die Shredding gilt für VARIANT Spalten oder Felder auf oberster Ebene in StrukturenVARIANT, mit Ausnahme von VARIANT Daten, die in Arrays oder Maps gespeichert sind.