Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Это важно
Управляемые таблицы каталога Unity обычно доступны для таблиц Delta Lake. Для таблиц Apache Iceberg эта функция доступна в общедоступной предварительной версии и доступна в Databricks Runtime 16.4 LTS и выше.
На этой странице описаны управляемые таблицы каталога Unity в Delta Lake и Apache Iceberg, тип таблицы по умолчанию и рекомендуемый тип таблицы в Azure Databricks. Эти таблицы полностью управляются и оптимизированы каталогом Unity, предлагая производительность, операционные преимущества и более низкие затраты на хранение и вычисления по сравнению с внешними и внешними таблицами, так как управляемые таблицы учатся на основе шаблона чтения и записи. Каталог Unity управляет всеми обязанностями по чтению, записи, хранению и оптимизации для управляемых таблиц.
Файлы данных для управляемых таблиц хранятся в схеме или каталоге, содержащих их. См. Укажите управляемое расположение хранилища в каталоге Unity.
Databricks рекомендует использовать управляемые таблицы для использования следующих преимуществ:
- Сокращение затрат на хранение и вычислительные ресурсы.
- Более быстрая производительность запросов во всех типах клиентов.
- Автоматическое обслуживание и оптимизация таблиц.
- Безопасный доступ для клиентов, отличных от Databricks, с помощью открытых API.
- Поддержка форматов Delta Lake и Iceberg.
- Автоматическое обновление до последних функций платформы.
Управляемые таблицы поддерживают взаимодействие, разрешая доступ из клиентов Delta Lake и Iceberg. С помощью открытых API и учётных данных Unity Catalog позволяет внешним движкам, таким как Trino, DuckDB, Apache Spark, Daft и Iceberg REST, а также каталожным движкам, интегрированным с Dremio, получать доступ к управляемым таблицам. Delta Sharing, протокол с открытым исходным кодом, обеспечивает безопасный, управляемый обмен данными с внешними партнерами и платформами.
Вы можете работать с управляемыми таблицами на всех языках и продуктах, поддерживаемых в Azure Databricks. Для создания, обновления, удаления или запроса управляемых таблиц требуются определенные привилегии. См. в каталоге Unity раздел Управление привилегиями.
Все операции чтения и записи в управляемые таблицы должны использовать имена таблиц и каталог и имена схем, где они существуют (например, catalog_name.schema_name.table_name
).
Замечание
Эта страница посвящена управляемым таблицам каталога Unity. Для управления таблицами в устаревшем хранилище метаданных Hive см. раздел Объекты базы данных в устаревшем хранилище метаданных Hive.
Зачем использовать управляемые таблицы каталога Unity?
Управляемые таблицы каталога Unity автоматически оптимизируют затраты на хранение и скорость запросов с помощью технологий, управляемых ИИ, таких как автоматическое кластеризация, сжатие размера файла и интеллектуальная сбор статистических данных. Эти таблицы упрощают управление данными с такими функциями, как автоматическое вакуумирование и кэширование метаданных, обеспечивая взаимодействие с сторонними средствами Delta и Iceberg.
Функция | Преимущества |
---|---|
Прогнозная оптимизация | Оптимизирует макет данных и вычислительные ресурсы с помощью ИИ, автоматически определяя размер вычислительных ресурсов, уплотняя задания для максимальной эффективности и регистрируя результаты, чтобы вы могли отслеживать, что произошло. Прогнозная оптимизация автоматически выполняется:
Эта функция снижает затраты на вычислительные ресурсы и хранилище за счет экономии размера хранилища. См. прогнозную оптимизацию для управляемых каталогом Unity таблиц. |
Автоматическая кластеризация жидкостей | Данные автоматически кластеризуются наиболее эффективно на основе шаблонов доступа запросов к таблицам, что значительно повышает скорость запросов для всех клиентов (Databricks и других). См. автоматическая кластеризация жидкости. |
Автоматическая статистика | Сбор статистики улучшает производительность запросов за счет использования эффективных методов пропуска данных и оптимизации соединений. Автоматически собирая важные статистические данные, такие как минимальные и максимальные значения для столбцов, Azure Databricks может определить, какие файлы являются неуместными, и исключить их во время выполнения запроса. Это снижает вычислительные издержки. Внешние таблицы каталога Unity, которые создают статистику на основе первых 32 столбцов по умолчанию, а управляемые таблицы каталога Unity динамически собирают статистику для столбцов, наиболее важных для рабочих нагрузок запросов. |
Кэширование метаданных | Кэширование метаданных транзакций в памяти для минимизации запросов к журналу транзакций, хранящейся в облаке. Эта функция повышает производительность запросов. |
Оптимизация размера файла | Azure Databricks автоматически уменьшает размеры файлов до оптимального, на основе данных, собранных из тысяч рабочих развертываний в фоновом режиме. Azure Databricks автоматически определяет размер целевого файла и корректирует записи, чтобы лучше соответствовать этим размерам файлов, что может помочь повысить производительность запросов и сэкономить затраты на хранение. См. раздел Configure Delta Lake для управления размером файлов данных. |
DROP TABLE |
При удалении управляемой таблицы данные будут автоматически удалены в облачном хранилище через 7 дней, что снижает затраты на хранение. Для внешних таблиц необходимо вручную перейти в контейнер хранилища и удалить файлы. |
Создание управляемой таблицы
Используйте следующий синтаксис 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
разрешения на таблицу Айсберга. Эта операция записывает только в метаданные таблицы, а вычислительная система поддерживает разрешения к таблице только на время выполнения задания.
Замечание
Чтобы создать таблицу Айсберга, явно укажите USING iceberg
. В противном случае Azure Databricks создает таблицу Delta Lake по умолчанию.
Управляемые таблицы можно создавать из результатов запроса или операций записи DataFrame. В следующих статьях демонстрируется несколько шаблонов, которые можно использовать для создания управляемой таблицы в Azure Databricks:
Необходимые разрешения
Чтобы создать управляемую таблицу, убедитесь, что у вас есть:
-
USE SCHEMA
разрешение на родительскую схему таблицы. -
USE CATALOG
разрешение на родительский каталог таблицы. -
CREATE TABLE
разрешение на основную схему таблицы.
Удалите управляемую таблицу
Вы должны быть владельцем таблицы или иметь MANAGE
право удалить управляемую таблицу. Чтобы удалить управляемую таблицу, выполните следующую команду SQL:
DROP TABLE IF EXISTS catalog_name.schema_name.table_name;
Каталог Unity поддерживает UNDROP TABLE
команду для восстановления удаленных управляемых таблиц в течение 7 дней. Через 7 дней Azure Databricks помечает базовые данные для удаления из облачного клиента и удаляет файлы во время автоматического обслуживания таблиц. См. UNDROP.