Konwertowanie na usługę Delta Lake
Komenda SQL CONVERT TO DELTA
wykonuje jednorazową konwersję tabel Parquet i Iceberg na tabele Delta Lake. Aby przeprowadzić przyrostową konwersję tabel Parquet lub Iceberg na Delta Lake, zobacz przyrostowe klonowanie tabel Parquet i Iceberg na Delta Lake.
Katalog Unity obsługuje polecenie CONVERT TO DELTA
SQL dla tabel Parquet i Iceberg przechowywanych w lokalizacjach zewnętrznych zarządzanych przez Katalog Unity.
Istniejące pliki danych Parquet można skonfigurować jako tabele zewnętrzne w Unity Catalog, a następnie przekonwertować je na Delta Lake, aby odblokować wszystkie funkcje Databricks Lakehouse.
Aby uzyskać dokumentację techniczną, zobacz CONVERT TO DELTA.
Konwertowanie katalogu plików Parquet lub Iceberg w lokalizacji zewnętrznej na usługę Delta Lake
Uwaga
- Konwertowanie tabel góry lodowej znajduje się w publicznej wersji zapoznawczej.
- Konwertowanie tabel Iceberg jest obsługiwane w Databricks Runtime 10.4 LTS i nowszym.
- Konwertowanie tabel metastore Iceberg nie jest obsługiwane.
- Konwertowanie tabel Iceberg, które doświadczyły ewolucji partycji, nie jest obsługiwane.
- Konwertowanie tabel Iceberg merge-on-read, które były aktualizowane, usuwane lub scalane, nie jest obsługiwane.
- Poniżej przedstawiono ograniczenia dotyczące konwertowania tabel Iceberg z partycjami zdefiniowanymi na kolumnach obciętych:
- W środowisku Databricks Runtime 12.2 LTS i poniżej jedynym obsługiwanym typem kolumny obciętej jest
string
. - W środowisku Databricks Runtime 13.3 LTS lub nowszym można pracować z obcinanymi kolumnami typów
string
,long
lubint
. - Usługa Azure Databricks nie obsługuje pracy z obciętymi kolumnami typu
decimal
.
- W środowisku Databricks Runtime 12.2 LTS i poniżej jedynym obsługiwanym typem kolumny obciętej jest
Możesz przekonwertować direktorię plików danych Parquet na tabelę Delta Lake, o ile masz dostęp do zapisu w lokalizacji magazynu. Aby uzyskać informacje na temat konfigurowania dostępu za pomocą Unity Catalog, zobacz Connect to cloud object storage and services using Unity Catalog.
Uwaga
Unity Catalog wymaga Azure Data Lake Storage Gen2.
CONVERT TO DELTA parquet.`abfss://container@storageAccount.dfs.core.windows.net/parquet-data`;
CONVERT TO DELTA iceberg.`abfss://container@storageAccount.dfs.core.windows.net/iceberg-data`;
Aby załadować przekonwertowane tabele jako tabele zewnętrzne do katalogu Unity, musisz mieć uprawnienie CREATE EXTERNAL TABLE
w lokalizacji zewnętrznej.
Uwaga
W przypadku środowiska Databricks Runtime 11.3 LTS i nowszych, CONVERT TO DELTA
automatycznie wnioskuje informacje o partycji dla tabel zarejestrowanych w magazynie metadanych Hive. Należy podać informacje o partycjonowaniu zewnętrznych tabel w ramach Unity Catalog.
Przekształcanie zarządzanych i zewnętrznych tabel do Delta Lake w Unity Catalog
CONVERT TO DELTA
składnia może być używana tylko do tworzenia zewnętrznych tabel Unity Catalog. Użyj instrukcji CTAS
, aby przekonwertować starszą tabelę zarządzanego magazynu metadanych Hive bezpośrednio na zarządzaną tabelę Delta Lake zarządzaną przez Unity Catalog. Zobacz Ulepszanie tabeli Hive do tabeli zarządzanej w Unity Catalog przy użyciu CREATE TABLE AS SELECT.
Aby uaktualnić zewnętrzną tabelę Parquet do zewnętrznej tabeli Unity Catalog, zobacz Uaktualnianie pojedynczej tabeli Hive do zewnętrznej tabeli Unity Catalog przy użyciu kreatora aktualizacji.
Po zarejestrowaniu zewnętrznej tabeli Parquet w wykazie Unity Catalog, można ją przekonwertować na zewnętrzną tabelę Delta Lake. Jeśli tabela Parquet jest podzielona na partycje, musisz podać informacje o partycjonowaniu.
CONVERT TO DELTA catalog_name.database_name.table_name;
CONVERT TO DELTA catalog_name.database_name.table_name PARTITIONED BY (date_updated DATE);