Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ważne
Ta funkcja jest dostępna w wersji beta. Administratorzy obszaru roboczego mogą kontrolować dostęp do tej funkcji ze strony Podglądy . Zobacz Zarządzanie wersjami zapoznawczami usługi Azure Databricks.
Na tej stronie opisano, jak używać funkcji Apache Iceberg wersji 3 z Unity Catalog. Iceberg w wersji 3 zwiększa wydajność zapytań i wprowadza nowe funkcje dla zarządzanych tabel Delta Lake z tabelami UniForm, zarządzanych tabel Iceberg oraz obcych tabel Iceberg.
Kluczowe cechy Iceberg v3 to:
- Wektory usuwania: umożliwia wydajne usuwanie na poziomie wiersza bez ponownego zapisywania całych plików danych.
- Typ danych VARIANT: obsługuje przechowywanie i przetwarzanie częściowo ustrukturyzowanych danych.
- Pochodzenie wierszy: śledzi przyrostowe zmiany danych tabeli.
Pochodzenie wierszy jest wymagane dla wszystkich tabel Iceberg v3. Nie ma polecenia do włączania lub wyłączania śledzenia pochodzenia wierszy.
Requirements
Aby korzystać z funkcji Iceberg v3, należy spełnić następujące wymagania:
- Obszar roboczy z włączonym Unity Catalog
- Środowisko Databricks Runtime w wersji 17.3 lub nowszej do odczytu i zapisu w zarządzanych tabelach w platformie Iceberg v3
Utwórz nową tabelę z użyciem Iceberg v3
Utwórz nowe tabele z włączoną wersją Iceberg v3 dla zarządzanych tabel Delta z UniForm oraz zarządzanych tabel Iceberg.
Zarządzana tabela Delta z UniForm
Aby utworzyć nową zarządzaną tabelę delty z włączoną funkcją UniForm i Iceberg v3, użyj następującego polecenia SQL:
CREATE OR REPLACE TABLE main.schema.table (c1 INT) TBLPROPERTIES(
'delta.universalFormat.enabledFormats' = 'iceberg',
'delta.enableIcebergCompatV3' = 'true'
);
Aby uzyskać więcej informacji na temat programu UniForm, zobacz Odczytywanie tabel Delta za pomocą klientów Iceberg.
Zarządzana tabela Iceberg
Aby utworzyć nową zarządzaną tabelę Iceberg w formacie v3, użyj następującego polecenia SQL:
CREATE OR REPLACE TABLE main.schema.table (c1 INT)
USING iceberg
TBLPROPERTIES ('format-version' = 3);
Aby uzyskać więcej informacji na temat zarządzanych tabel gór lodowych, zobacz Co to jest Apache Iceberg w usłudze Azure Databricks?.
Aktualizacja istniejącej tabeli do Iceberg w wersji 3
Istniejącą tabelę można uaktualnić do wersji Iceberg v3, wykonując następujące czynności:
- Włączanie dowolnej funkcji v3 w tabeli.
- Ustawianie wersji formatu Iceberg w tabeli na 3 (pokazano poniżej).
Ostrzeżenie
Nie można obniżyć wersji zarządzanych tabel Iceberg, które zostały zaktualizowane do wersji 3. Zarządzane tabele delty z wykorzystaniem UniForm można bezpiecznie zdegradować.
Zarządzana tabela Delta z UniForm
Aby uaktualnić zarządzaną tabelę delty za pomocą programu UniForm do wersji 3, użyj następującego polecenia:
ALTER TABLE catalog.schema.table SET TBLPROPERTIES(
'delta.enableIcebergCompatV3' = 'true',
'delta.enableIcebergCompatV2' = 'false'
);
Zarządzana tabela Iceberg
Aby uaktualnić zarządzaną tabelę Iceberg do wersji 3, użyj następującego polecenia:
ALTER TABLE catalog.schema.table SET TBLPROPERTIES (
'format-version' = 3
);
Włącz wektory usuwania
Wektory usuwania optymalizują operacje modyfikacji danych na poziomie wiersza i są domyślnie włączone we wszystkich nowych tabelach Iceberg v3. Zobacz Wektory usuwania w usłudze Databricks.
Uwaga / Notatka
Włączenie wektorów usuwania w istniejącej tabeli Iceberg uaktualnia wersję formatu Iceberg do 3.
Zarządzana tabela Delta z UniForm
Aby utworzyć nową zarządzaną tabelę Delta z włączonymi UniForm, Iceberg v3 i wektorami usuwania, ustaw następujące właściwości tabeli:
CREATE TABLE catalog.schema.table (c1 INT) TBLPROPERTIES(
'delta.enableDeletionVectors' = 'true',
'delta.enableIcebergCompatV3' = 'true',
'delta.universalFormat.enabledFormats' = 'iceberg'
);
Zarządzana tabela Iceberg
Aby utworzyć nową zarządzaną tabelę Iceberg z włączonymi wektorami usuwania, ustaw iceberg.enableDeletionVectors właściwość tabeli:
CREATE TABLE catalog.schema.table (c1 INT)
USING ICEBERG TBLPROPERTIES (
'iceberg.enableDeletionVectors' = 'true'
);
Używanie typu danych VARIANT
Typ danych VARIANT umożliwia przechowywanie danych częściowo ustrukturyzowanych i wykonywanie względem ich zapytań.
Uwaga / Notatka
Użycie VARIANT w istniejącej tabeli Iceberg podnosi wersję formatu do 3.
Zarządzana tabela Delta z UniForm
Aby utworzyć nową zarządzaną tabelę delty z funkcją UniForm i kolumną VARIANT:
CREATE TABLE catalog.schema.deltaTable (col VARIANT) TBLPROPERTIES(
'delta.enableIcebergCompatV3' = 'true',
'delta.universalFormat.enabledFormats' = 'iceberg'
);
Zarządzana tabela Iceberg
Aby utworzyć nową zarządzaną tabelę Iceberg z kolumną VARIANT:
CREATE TABLE catalog.schema.icebergTable (col VARIANT) USING iceberg;
Aby dodać kolumnę VARIANT do istniejącej tabeli, użyj ALTER TABLE polecenia :
ALTER TABLE catalog.schema.table ADD COLUMN variant_col VARIANT;
Przywracanie tabeli do poprzedniej wersji
Jeśli musisz przywrócić tabelę do stanu przed uaktualnieniem do wersji Iceberg v3, możesz użyć RESTORE polecenia .
RESTORE TABLE catalog.schema.table TO VERSION AS OF 1;
Ograniczenia
Usługa Azure Databricks obsługuje wersję 3 specyfikacji Iceberg z następującymi wyjątkami:
- Wartości domyślne, w tym domyślne wartości zapisu i początkowe wartości, nie są obsługiwane.
- Następujące typy danych nie są obsługiwane:
- Typy geoprzestrzenne
- Nieznany typ
- Znacznik czasu o dokładności do nanosekund.
- Przekształcenia z wieloma argumentami nie są obsługiwane.