Поделиться через


Преобразование в 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 LTS и выше.
  • Преобразование таблиц хранилища метаданных Iceberg не поддерживается.
  • Преобразование таблиц Айсберга, имеющих опыт эволюции секций , не поддерживается.
  • Преобразование таблиц с слиянием в режиме слияния, которые имеют опыт обновления, удаления или слияния, не поддерживаются.
  • Ниже приведены ограничения для преобразования таблиц Айсберга с секциями, определенными для усеченных столбцов:
    • В Databricks Runtime 12.2 LTS и ниже поддерживается stringтолько усеченный тип столбца.
    • В Databricks Runtime 13.3 LTS и более поздних версиях можно работать с усеченными столбцами типов stringилиlongint.
    • Azure Databricks не поддерживает работу с усеченными столбцами типа decimal.

Каталог файлов данных 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 EXTERNAL TABLE разрешение на внешнее расположение.

Примечание.

Для Databricks Runtime 11.3 LTS и более поздних CONVERT TO DELTA версий автоматически выводит сведения о секционирование таблиц, зарегистрированных в хранилище метаданных Hive. Необходимо указать сведения о секционирования для внешних таблиц каталога Unity.

Преобразование управляемых и внешних таблиц в Delta Lake в каталоге Unity

CONVERT TO DELTA синтаксис можно использовать только для создания внешних таблиц каталога Unity. CTAS Используйте инструкцию для преобразования устаревшей таблицы Hive метаданных, управляемой Parquet непосредственно в управляемую таблицу каталога 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);