Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Fragmentacja wariantów poprawia wydajność zapytań dla kolumn VARIANT, poprzez przechowywanie często występujących pól jako oddzielnych kolumn w bazowych plikach Parquet. Rozbijanie danych zmniejsza liczbę operacji wejścia/wyjścia wymaganych do odczytu pól i poprawia kompresję dzięki zastosowaniu formatu kolumnowego zamiast binarnego obiektu BLOB.
Zobacz VARIANT typ, obsługa typu Variant dla Apache Iceberg i Delta Lake oraz wykonywanie zapytań na danych typu Variant.
Requirements
Środowisko Databricks Runtime w wersji 17.3 lub nowszej jest wymagane do odczytu i zapisu rozdrobnionych tabel VARIANT. Aby uzyskać optymalną wydajność zapytań przy użyciu zbierania statystyk wariantów i pomijania danych, usługa Databricks Zaleca użycie środowiska Databricks Runtime w wersji 18.1 lub nowszej.
Włączanie rozdrabniania
Począwszy od środowiska Databricks Runtime 17.3, niszczanie jest automatycznie włączane podczas tworzenia nowej tabeli z co najmniej jedną VARIANT kolumną przy użyciu polecenia CREATE TABLE.
CREATE OR REPLACE TABLE i ALTER TABLE nie włączaj automatycznie rozdrabniania. Pozwala to uniknąć zmiany zachowania rozdrabniania istniejących tabel i obciążeń.
W przypadku istniejących tabel możesz ręcznie włączyć dzielenie, ustawiając właściwość tabeli enableVariantShredding na wartość TRUE, a wyłączyć je, ustawiając tę właściwość na FALSE:
Jezioro Delta
ALTER TABLE my_table SET TBLPROPERTIES ('delta.enableVariantShredding' = 'true');
Tabela Iceberg
ALTER TABLE my_table SET TBLPROPERTIES ('iceberg.enableVariantShredding' = 'true');
Sprawdź, czy niszczenie jest włączone, sprawdzając, czy właściwość enableVariantShredding tabeli jest ustawiona na true.
Wyłącz fragmentację dla określonej tabeli
Aby wykluczyć określoną tabelę z dzielenia podczas przyszłych zapisów, ustaw właściwość tabeli enableVariantShredding na FALSE:
Jezioro Delta
ALTER TABLE my_table SET TBLPROPERTIES ('delta.enableVariantShredding' = 'false');
Tabela Iceberg
ALTER TABLE my_table SET TBLPROPERTIES ('iceberg.enableVariantShredding' = 'false');
Usuń partycjonowanie z istniejącej tabeli
Aby usunąć rozdrabnianie istniejącej tabeli, wyłącz tę funkcję za pomocą polecenia ALTER TABLE. Ta operacja ponownie zapisuje rozdrobnione dane VARIANT w miejscu na format nierozdrobniony VARIANT i ustawia właściwość tabeli enableVariantShredding na fałsz.
ALTER TABLE my_table DROP FEATURE "variantShredding";
Limitations
- Niszczanie danych wprowadza pewne obciążenie związane z zapisami.
- Włączenie rozdrabniania nie powoduje automatycznej konwersji istniejących
VARIANTdanych w tabeli. Dotyczy tylko danych zapisanych po włączeniu funkcji. Aby ponownie napisać istniejąceVARIANTdane, użyj poleceniaREORG TABLE my_table APPLY (SHRED VARIANT). - Niszczanie ma zastosowanie do kolumn lub pól na najwyższym poziomie w strukturach, z wyłączeniem danych przechowywanych wewnątrz tablic lub map.