Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Это важно
Таблицы Apache Iceberg, управляемые каталогом Unity, доступны в общедоступной предварительной версии в Databricks Runtime 16.4 LTS и выше. Внешние таблицы Iceberg также находятся в общедоступной предварительной версии в Databricks Runtime 16.4 LTS и выше.
Apache Iceberg — это формат таблицы с открытым исходным кодом для рабочих нагрузок аналитики. Она поддерживает такие функции, как эволюция схемы, перемещение по времени и скрытая секционирование. Как и Delta Lake, Айсберг предоставляет уровень абстракции, который позволяет выполнять транзакции ACID для данных, хранящихся в хранилище объектов. Azure Databricks поддерживает таблицы Iceberg, использующие формат файла Apache Parquet. Айсберг поддерживает атомарность и согласованность, записывая новые файлы метаданных для каждого изменения таблицы.
Каталог Айсберга — это слой верхнего уровня архитектуры таблицы Айсберга. Она обрабатывает такие операции, как создание, удаление и переименование таблиц. Основная ответственность заключается в предоставлении текущих метаданных при загрузке таблицы. Azure Databricks поддерживает таблицы Айсберга, управляемые следующими компонентами:
- Каталог Unity
- Внешние каталоги, такие как AWS Glue, хранилище метаданных Hive или Snowflake Horizon
Все таблицы Айсберга в Azure Databricks соответствуют спецификации открытого формата таблицы Iceberg. См. спецификацию таблицы Айсберга.
Создание таблиц Iceberg в каталоге Unity
Таблицы Iceberg, созданные в каталоге Unity, управляются таблицами Iceberg. Эти таблицы можно создать с помощью следующих средств:
- Databricks Runtime или Databricks SQL
- Внешние механизмы, совместимые с Iceberg и поддерживающие API каталога REST Iceberg, такие как Apache Spark, Flink, Trino или Kafka. См. Доступ к таблицам Azure Databricks из клиентов Apache Iceberg.
Управляемые таблицы Iceberg полностью интегрированы с функциями платформы Azure Databricks. Каталог Unity управляет задачами жизненного цикла, такими как срок действия моментального снимка и сжатие файлов в этих таблицах. Управляемые таблицы Iceberg также поддерживают кластеризацию жидкости, что повышает производительность запросов. Прогнозная оптимизация автоматизирует эти задачи для снижения затрат на хранение и повышения скорости запросов.
Читать таблицы Айсберга, управляемые другими каталогами
Иностранная таблица Айсберга — это таблица Айсберга, управляемая каталогом за пределами каталога Unity. Внешний каталог сохраняет текущие метаданные таблицы. Azure Databricks использует Lakehouse Federation для получения метаданных и чтения таблицы из хранилища объектов.
Таблицы Foreign Iceberg доступны только для чтения в Azure Databricks и имеют ограниченную поддержку платформы.
Доступ к таблицам Айсберга с помощью внешних систем
Доступ ко всем таблицам Iceberg в каталоге Unity можно получить с помощью API REST каталога Iceberg. Этот открытый API поддерживает операции чтения и записи из внешних движков Iceberg на разных языках и платформах. См. Доступ к таблицам Azure Databricks из клиентов Apache Iceberg.
Каталог REST поддерживает отправку учетных данных, которая предоставляет временные учетные данные внешним обработчикам для доступа к базовому хранилищу. Дополнительные сведения см. в разделе Credential Vending в Unity Catalog для доступа к внешним системам.
Ограничения таблицы Айсберга
Следующие ограничения применяются к таблицам Айсберга в Azure Databricks и могут быть изменены.
- Таблицы Iceberg поддерживают только формат файла Apache Parquet.
- Azure Databricks поддерживает версии 1 и 2 спецификации Apache Iceberg со следующими исключениями:
- Удаление на уровне строк, включая удаление позиций и удаление на основе равенства, не поддерживается.
- Создание веток и тегирование не поддерживаются. Только основная ветвь доступна при чтении внешних таблиц Iceberg.
- Эволюция секций поддерживается только в управляемых таблицах Iceberg, когда происходит взаимодействие со сторонними системами Iceberg. Внешние таблицы Iceberg не поддерживают эволюцию разделов.
- Следующие типы данных не поддерживаются:
UUID
Fixed(L)
TIME
- Управляемые таблицы Iceberg не поддерживают ограничения первичного ключа или внешнего ключа.
Ограничения для управляемых таблиц Iceberg
Следующие ограничения применяются специально к управляемым таблицам Айсберга:
- Поиск векторов не поддерживается в управляемых таблицах Iceberg.
- Apache Iceberg не поддерживает поток изменений данных. В результате добавочная обработка не поддерживается при чтении таблиц Managed Iceberg в качестве источника:
- Материализованные представления и потоковые таблицы
- Мониторинг Лейкхаус
- Онлайн-таблицы
- Lakebase
- Классификация данных
Ограничения таблицы Foreign Iceberg
Следующие ограничения применяются специально к иностранным таблицам Айсберга:
- Путешествие во времени поддерживается только для моментальных снимков Iceberg, которые ранее были прочитаны в Azure Databricks (то есть для снимков, в которых выполнялась инструкция
SELECT
). - Использование функций преобразования контейнеров для секционирования Iceberg может снизить производительность запросов при использовании условных фильтров.
- Облачные продукты уровня хранилища, такие как Amazon S3, не интегрированы с иностранными таблицами Iceberg. Доступ к внешним таблицам Iceberg в Azure Databricks может восстановить данные, архивированные на более низких уровнях хранилища.
- Для кластеров выделенного режима доступа операции чтения и
REFRESH FOREIGN TABLE
на таблицах Айсберг требуютALL PRIVILEGES
.