Преобразование в Delta Lake
Команда CONVERT TO DELTA
SQL выполняет однократное преобразование таблиц Parquet и Iceberg в таблицы Delta Lake. Для добавочного преобразования таблиц Parquet или Iceberg в Delta Lake см . добавочное клонирование таблиц Parquet и Iceberg в Delta Lake.
Каталог Unity поддерживает команду SQL CONVERT TO DELTA
для таблиц Parquet и Iceberg, хранящихся во внешних расположениях, управляемых каталогом Unity.
Вы можете настроить существующие файлы данных Parquet в качестве внешних таблиц в каталоге Unity, а затем преобразовать их в Delta Lake, чтобы разблокировать все функции Озера Databricks.
Техническую документацию см. в разделе CONVERT TO DELTA.
Преобразование каталога файлов Parquet или Iceberg во внешнем расположении в Delta Lake
Примечание.
- Преобразование таблиц Айсберга находится в общедоступной предварительной версии.
- Преобразование таблиц Iceberg поддерживается в Databricks Runtime 10.4 и более поздних версий.
- Преобразование таблиц хранилища метаданных Iceberg не поддерживается.
- Преобразование таблиц Айсберга, имеющих опыт эволюции секций , не поддерживается.
- Преобразование таблиц с слиянием в режиме слияния, которые имеют опыт обновления, удаления или слияния, не поддерживаются.
- Ниже приведены ограничения для преобразования таблиц Айсберга с секциями, определенными для усеченных столбцов:
- В Databricks Runtime 12.2 LTS и ниже поддерживается
string
только усеченный тип столбца. - В Databricks Runtime 13.3 LTS и более поздних версиях можно работать с усеченными столбцами типов
string
илиlong
int
. - Azure Databricks не поддерживает работу с усеченными столбцами типа
decimal
.
- В Databricks Runtime 12.2 LTS и ниже поддерживается
Каталог файлов данных Parquet можно преобразовать в таблицу Delta Lake, если у вас есть доступ на запись в расположении хранилища; Сведения о настройке доступа с помощью каталога Unity см. в статье "Подключение к облачному хранилищу объектов" с помощью каталога Unity.
Примечание.
Для каталога Unity требуется Azure Data Lake Storage 2-го поколения.
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`;
Чтобы загрузить преобразованные таблицы в качестве внешних таблиц в каталог Unity, необходимы разрешения CREATE TABLES
для внешнего расположения.
Примечание.
Для Databricks Runtime 11.3 LTS и более поздних CONVERT TO DELTA
версий автоматически выводит сведения о секционирования для таблиц, зарегистрированных в хранилище метаданных, устраняя требование вручную указывать секции.
Преобразование управляемых и внешних таблиц в Delta Lake в каталоге Unity
Каталог Unity поддерживает множество форматов для внешних таблиц, но поддерживает только Delta Lake для управляемых таблиц. Сведения о преобразовании управляемой таблицы Parquet непосредственно в управляемую таблицу каталога Unity Delta Lake см. в статье Об обновлении управляемой таблицы Hive до управляемой таблицы каталога Unity с помощью CLONE.
Чтобы обновить внешнюю таблицу Parquet до внешней таблицы каталога Unity, см. статью Об обновлении одной таблицы Hive до внешней таблицы каталога Unity с помощью мастера обновления.
После регистрации внешней таблицы Parquet в каталоге Unity ее можно преобразовать во внешнюю таблицу Delta Lake. Обратите внимание, что необходимо указать сведения о секционировании, если таблица Parquet секционирована.
CONVERT TO DELTA catalog_name.database_name.table_name;
CONVERT TO DELTA catalog_name.database_name.table_name PARTITIONED BY (date_updated DATE);