Konwertowanie na usługę Delta Lake
Polecenie CONVERT TO DELTA
SQL wykonuje jednorazową konwersję tabel Parquet i Iceberg na tabele usługi Delta Lake. Aby uzyskać przyrostowe konwersje tabel Parquet lub Iceberg na delta Lake, zobacz Incrementally clone Parquet and Iceberg tables to Delta Lake (Przyrostowe klonowanie tabel Parquet i Iceberg do usługi Delta Lake).
Katalog aparatu Unity obsługuje CONVERT TO DELTA
polecenie SQL dla tabel Parquet i Iceberg przechowywanych w lokalizacjach zewnętrznych zarządzanych przez wykaz aparatu Unity.
Istniejące pliki danych Parquet można skonfigurować jako tabele zewnętrzne w wykazie aparatu Unity, a następnie przekonwertować je na usługę Delta Lake, aby odblokować wszystkie funkcje usługi Databricks Lakehouse.
Aby uzyskać dokumentację techniczną, zobacz KONWERTOWANIE NA RÓŻNICĘ.
Konwertowanie katalogu plików Parquet lub Iceberg w lokalizacji zewnętrznej na usługę Delta Lake
Uwaga
- Konwertowanie tabel góry lodowej jest dostępne w publicznej wersji zapoznawczej.
- Konwertowanie tabel góry lodowej jest obsługiwane w środowisku Databricks Runtime 10.4 LTS i nowszym.
- Konwertowanie tabel magazynu metadanych Góry Lodowej nie jest obsługiwane.
- Konwertowanie tabel góry lodowej, które doświadczyły ewolucji partycji, nie jest obsługiwane.
- Konwertowanie tabel scalania góry lodowej, które doświadczyły aktualizacji, usuwania lub scalania, nie jest obsługiwane.
- Poniżej przedstawiono ograniczenia dotyczące konwertowania tabel góry lodowej z partycjami zdefiniowanymi na obcinanych kolumnach:
- W środowisku Databricks Runtime 12.2 LTS i poniżej obsługiwanym jedynym obcinanym typem kolumny jest
string
. - W środowisku Databricks Runtime 13.3 LTS i nowszym można pracować z obciętymi 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 obsługiwanym jedynym obcinanym typem kolumny jest
Katalog plików danych Parquet można przekonwertować na tabelę usługi Delta Lake, o ile masz dostęp do zapisu w lokalizacji magazynu. Aby uzyskać informacje na temat konfigurowania dostępu za pomocą wykazu aparatu Unity, zobacz Connect to cloud object storage and services using Unity Catalog (Łączenie się z magazynem obiektów w chmurze i usługami przy użyciu wykazu aparatu Unity).
Uwaga
Wykaz aparatu Unity wymaga usługi 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 wykazu aparatu Unity, musisz CREATE EXTERNAL TABLE
mieć uprawnienie do lokalizacji zewnętrznej.
Uwaga
W przypadku środowiska Databricks Runtime 11.3 LTS lub nowszego CONVERT TO DELTA
automatycznie wywnioskuje informacje o partycjonowaniu tabel zarejestrowanych w magazynie metadanych Hive. Należy podać informacje o partycjonowaniu tabel zewnętrznych wykazu aparatu Unity.
Konwertowanie zarządzanych i zewnętrznych tabel na usługę Delta Lake w wykazie aparatu Unity
CONVERT TO DELTA
Składnia może służyć tylko do tworzenia tabel zewnętrznych wykazu aparatu Unity. CTAS
Użyj instrukcji , aby przekonwertować starszą tabelę magazynu metadanych Hive zarządzaną parquet bezpośrednio na zarządzaną tabelę delta Lake wykazu aparatu Unity. Zobacz Uaktualnianie tabeli programu Hive do tabeli zarządzanej przez wykaz aparatu Unity przy użyciu polecenia CREATE TABLE AS SELECT.
Aby uaktualnić zewnętrzną tabelę Parquet do tabeli zewnętrznej wykazu aparatu Unity, zobacz Uaktualnianie pojedynczej tabeli Programu Hive do tabeli zewnętrznej wykazu aparatu Unity przy użyciu kreatora uaktualniania.
Po zarejestrowaniu zewnętrznej tabeli Parquet w wykazie aparatu Unity można przekonwertować ją na zewnętrzną tabelę usługi 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);