Преобразование в Delta Lake
Команда SQL CONVERT TO DELTA
выполняет однократное преобразование таблиц 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 находится в общедоступной предварительной версии
. - Преобразование таблиц Iceberg поддерживается в Databricks Runtime 10.4 LTS и выше.
- Преобразование таблиц хранилища метаданных Iceberg не поддерживается.
- Преобразование таблиц Iceberg, подверженных эволюции секций, не поддерживается.
- Преобразование таблиц Iceberg с режимом merge-on-read, в которых выполнялись обновления, удаления или слияния, не поддерживается.
- Ниже перечислены ограничения на преобразование таблиц Айсберга с разделами, определенными по усеченным столбцам.
- В 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 см. в статье Connect to cloud object storage and services using Unity Catalog.
Примечание.
Для каталога 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 Catalog, вам потребуется разрешение CREATE EXTERNAL TABLE
на внешнее расположение.
Примечание.
Для Databricks Runtime 11.3 LTS и более поздних версий CONVERT TO DELTA
автоматически определяет сведения о секционировании для таблиц, зарегистрированных в хранилище метаданных Hive. Необходимо указать сведения о секционировании для внешних таблиц каталога Unity.
Преобразование управляемых и внешних таблиц в Delta Lake в каталоге Unity
CONVERT TO DELTA
синтаксис можно использовать только для создания внешних таблиц каталога Unity. Используйте инструкцию CTAS
для преобразования устаревшей управляемой таблицы Hive Metastore непосредственно в управляемую таблицу Каталога Unity Delta Lake, см. обновление таблицы Hive в управляемую таблицу каталога Unity с помощью CREATE TABLE AS SELECT.
Чтобы обновить внешнюю таблицу 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);