Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Important
Таблицы Delta Lake, управляемые каталогом Unity, общедоступны. Таблицы Apache Iceberg, управляемые каталогом Unity, доступны в общедоступной предварительной версии с Databricks Runtime 16.4 LTS и более поздними версиями.
На этой странице описаны управляемые таблицы каталога Unity в Delta Lake и Apache Iceberg, тип таблицы по умолчанию и рекомендуемый тип таблицы в Azure Databricks. Эти таблицы полностью управляются и оптимизированы каталогом Unity, предлагают производительность, операционные преимущества и более низкие затраты на хранение и вычисления по сравнению с внешними и внешними таблицами, так как управляемые таблицы учатся на основе шаблонов чтения и записи. Каталог Unity управляет всеми обязанностями по чтению, записи, хранению и оптимизации для управляемых таблиц. См. статью "Преобразование внешней таблицы в управляемую таблицу каталога Unity".
Файлы данных для управляемых таблиц хранятся в схеме или каталоге, содержащих их. См. Укажите управляемое расположение хранилища в каталоге Unity.
Databricks рекомендует использовать управляемые таблицы для использования следующих преимуществ:
- Сокращение затрат на хранение и вычислительные ресурсы.
- Более быстрая производительность запросов во всех типах клиентов.
- Автоматическое обслуживание и оптимизация таблиц.
- Безопасный доступ для клиентов, отличных от Databricks, с помощью открытых API.
- Поддержка форматов Delta Lake и Iceberg.
- Автоматическое обновление до последних функций платформы.
Управляемые таблицы поддерживают взаимодействие, разрешая доступ из клиентов Delta Lake и Iceberg. С помощью открытых API и учётных данных Unity Catalog позволяет внешним движкам, таким как Trino, DuckDB, Apache Spark, Daft и Iceberg REST, а также каталожным движкам, интегрированным с Dremio, получать доступ к управляемым таблицам. Для внешних клиентов, не поддерживающих открытые API, можно использовать режим совместимости для чтения управляемых таблиц с помощью любого клиента Delta Lake или Iceberg. Delta Sharing, протокол с открытым исходным кодом, обеспечивает безопасный, управляемый обмен данными с внешними партнерами и платформами.
Вы можете работать с управляемыми таблицами на всех языках и продуктах, поддерживаемых в Azure Databricks. Для создания, обновления, удаления или запроса управляемых таблиц требуются определенные привилегии. См. в каталоге Unity раздел Управление привилегиями.
Note
Эта страница посвящена управляемым таблицам каталога Unity. Для управления таблицами в устаревшем хранилище метаданных Hive см. раздел Объекты базы данных в устаревшем хранилище метаданных Hive.
Зачем использовать управляемые таблицы каталога Unity?
Управляемые таблицы каталога Unity автоматически оптимизируют затраты на хранение и скорость запросов с помощью технологий, управляемых ИИ, таких как автоматическое кластеризация, сжатие размера файла и интеллектуальная сбор статистических данных. Эти таблицы упрощают управление данными с такими функциями, как автоматическое вакуумирование и кэширование метаданных, обеспечивая взаимодействие с сторонними средствами Delta и Iceberg.
Следующие функции уникальны для управляемых таблиц каталога Unity и недоступны для внешних таблиц и внешних таблиц.
| Feature | Benefits | Включено по умолчанию? | Конфигурируемый? |
|---|---|---|---|
| Прогнозная оптимизация | Автоматически оптимизирует макет данных и вычислительные ресурсы с помощью искусственного интеллекта, поэтому вам не нужно вручную обрабатывать операции для управляемых таблиц. Databricks рекомендует включить прогнозную оптимизацию для всех управляемых таблиц, чтобы снизить затраты на хранение и вычисления. Прогнозная оптимизация автоматически выполняется:
|
Да, для всех новых учетных записей, созданных 11 ноября 2024 г. или после этого. Для текущих учетных записей Azure Databricks начинает развертывать прогнозную оптимизацию по умолчанию. Проверьте, включена ли прогнозная оптимизация. |
Да. См. раздел "Включить прогнозную оптимизацию". |
| Автоматическое кластеризация жидкости | Для таблиц с прогнозной оптимизацией включение автоматической кластеризации жидкости позволяет Azure Databricks интеллектуально выбирать ключи кластеризации. По мере изменения шаблонов запросов Azure Databricks автоматически обновляет ключи кластеризации для повышения производительности и снижения затрат. | нет | Да. См. раздел "Включить кластеризацию жидкости". |
| Кэширование метаданных | Кэширование метаданных транзакций в памяти повышает производительность запросов, минимизируя запросы к журналу транзакций, хранящимся в облаке. Эта функция повышает производительность запросов. | Да | Нет. Кэширование метаданных всегда включено для управляемых таблиц. |
Автоматическое DROP TABLE удаление файлов после команды |
При удалении управляемой таблицы Azure Databricks удаляет данные в облачном хранилище через 8 дней, что снижает затраты на хранение. Для внешних таблиц необходимо вручную перейти в контейнер хранилища и удалить файлы. | Да | Нет. Для управляемых таблиц файлы всегда удаляются автоматически через 8 дней. |
Доступ к данным Databricks с помощью внешних систем
Управляемые таблицы поддерживают взаимодействие , разрешая доступ из клиентов Delta Lake и Iceberg. С помощью открытых API-интерфейсов и выдачи учетных данных каталог Unity позволяет внешним движкам, таким как Trino, DuckDB, Apache Spark, Daft и Iceberg, а также каталогам REST, интегрированными с движками, такими как Dremio и Snowflake, получать доступ к управляемым таблицам. Ознакомьтесь с интеграциями, чтобы увидеть список поддерживаемых внешних движков, или проверьте документацию вашего движка, если он не включен в этот список.
Следующие открытые API предоставляют внешним системам доступ к управляемым таблицам каталога Unity:
- Unity REST API: предоставляет клиентам Delta доступ только для чтения к управляемым таблицам Delta.
- Каталог REST Iceberg (IRC): предоставляет доступ для чтения и записи клиентам Iceberg для взаимодействия с таблицами Iceberg и доступ только для чтения к таблицам Delta с включённой функцией чтения Iceberg (UniForm).
Оба API поддерживают механизм выдачи учетных данных, который предоставляет временные учетные данные с ограниченной сферой действия, наследующие привилегии запрашивающего субъекта Azure Databricks, сохраняя механизмы управления и безопасности.
Кроме того, Delta Sharing — это протокол с открытым исходным кодом, который обеспечивает безопасный и управляемый доступ к внешним партнерам и платформам. Вы можете использовать Delta Sharing для предоставления партнерам временного доступа только для чтения.
Все операции чтения и записи в управляемые таблицы должны использовать имена таблиц, каталогов и схем, при наличии. Например: catalog_name.schema_name.table_name. Доступ на основе пути к управляемым таблицам каталога Unity не поддерживается (за исключением режима совместимости), так как он обходит элементы управления доступом каталога Unity и мешает правильному функционированию функций управляемых таблиц.
Создание управляемой таблицы
Чтобы создать управляемую таблицу, необходимо:
-
USE SCHEMAв родительской схеме таблицы. -
USE CATALOGв родительском каталоге таблицы. -
CREATE TABLEв родительской схеме таблицы.
Используйте следующий синтаксис SQL, чтобы создать пустую управляемую таблицу с помощью SQL. Замените значения заполнителей:
-
<catalog-name>: имя каталога, содержащего таблицу. -
<schema-name>: имя схемы, содержащей таблицу. -
<table-name>: это имя для таблицы. -
<column-specification>: имя и тип данных каждого столбца.
-- Create a managed Delta table
CREATE TABLE <catalog-name>.<schema-name>.<table-name>
(
<column-specification>
);
-- Create a managed Iceberg table
CREATE TABLE <catalog-name>.<schema-name>.<table-name>
(
<column-specification>
)
USING iceberg;
Чтобы обеспечить производительность операций чтения и записи, Azure Databricks периодически выполняет операции для оптимизации метаданных управляемой таблицы Iceberg. Эта задача выполняется с помощью бессерверных вычислений, имеющих MODIFY разрешения на таблицу Айсберга. Эта операция записывает только в метаданные таблицы, а вычислительная система поддерживает разрешения к таблице только на время выполнения задания.
Note
Чтобы создать таблицу Айсберга, явно укажите USING iceberg. В противном случае Azure Databricks создает таблицу Delta Lake по умолчанию.
Управляемые таблицы можно создавать из результатов запроса или операций записи DataFrame. В следующих статьях демонстрируется несколько шаблонов, которые можно использовать для создания управляемой таблицы в Azure Databricks:
Удалите управляемую таблицу
Чтобы удалить управляемую таблицу, необходимо:
-
MANAGEна столе или ты должен быть владельцем стола. -
USE SCHEMAв родительской схеме таблицы. -
USE CATALOGв родительском каталоге таблицы.
Чтобы удалить управляемую таблицу, выполните следующую команду SQL:
DROP TABLE IF EXISTS catalog_name.schema_name.table_name;
Каталог Unity поддерживает UNDROP TABLE команду для восстановления удаленных управляемых таблиц в течение 8 дней. Через 8 дней Azure Databricks помечает базовые данные для удаления из облачного клиента и удаляет файлы во время автоматического обслуживания таблиц. См. UNDROP.