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


Основные понятия таблиц Azure Databricks

Таблица Azure Databricks находится в схеме и содержит строки данных. Тип таблицы по умолчанию, созданный в Azure Databricks, — это управляемая таблица каталога Unity.

В следующем примере показана управляемая таблица с именем prod.people_ops_employees , содержащая данные о пяти сотрудниках. В управляемой таблице файлы данных хранятся в управляемом хранилище каталога Unity в облачном хранилище.

Пример таблицы, содержащей данные сотрудника

Форматы хранилища

Типы таблиц в Azure Databricks определяют способ владения и доступа к данным. Отдельно формат хранилища определяет, как данные физически структурированы и отслеживаются на диске.

Azure Databricks поддерживает два основных формата открытого хранилища таблиц:

  • Delta Lake — это формат хранения по умолчанию для управляемых и внешних таблиц в Azure Databricks. Delta также поддерживается для внешних таблиц.
  • Apache Iceberg поддерживается в управляемых и внешних таблицах в Azure Databricks. Этот формат полезен при интеграции с экосистемой Айсберга.

Эти форматы добавляют уровень хранилища транзакций, который отслеживает метаданные и обеспечивает атомарность, согласованность, изоляцию и устойчивость (ACID), перемещение по времени и другие функции.

Типы таблиц

Azure Databricks предлагает три основных типа таблиц, каждый из которых предназначен для различных сценариев управления данными и моделей владения. Выбор типа таблицы определяет, как Azure Databricks управляет базовыми файлами данных и метаданными.

Основной разными способами для типов таблиц в Azure Databricks является каталог владельцем, как описано в следующей таблице:

Тип таблицы Управление каталогом Поддержка чтения и записи Оптимизация производительности Оптимизация затрат на хранение
Управляемый Каталог Unity Да Да Да
внешние Нет (только файлы) Да Только вручную Только вручную
Иностранный Внешняя система или служба каталога Только чтение нет нет

Управляемые таблицы

Управляемые таблицы управляют базовыми файлами данных вместе с регистрацией хранилища метаданных. Databricks рекомендует использовать управляемые таблицы при создании новой таблицы. Управляемые таблицы каталога Unity — это значение по умолчанию при создании таблиц в Azure Databricks. См. статью "Управляемые таблицы".

Внешние таблицы

Внешние таблицы, иногда называемые неуправляемыми таблицами, ссылочные данные, хранящиеся вне Databricks в внешней системе хранения, например облачное хранилище объектов. Они отделяют управление базовыми файлами данных от регистрации хранилища метаданных. Каталог Unity поддерживает внешние таблицы в нескольких форматах, включая Delta Lake. Внешние таблицы каталога Unity могут хранить файлы данных с помощью общих форматов, доступных для чтения внешними системами. См. внешние таблицы.

Внешние таблицы

Внешние таблицы представляют данные, хранящиеся во внешних системах, подключенных к Azure Databricks через федерацию Lakehouse. Внешние таблицы доступны только для чтения в Azure Databricks. См. внешние таблицы.

Таблицы в каталоге Unity

В каталоге Unity таблицы располагаются на третьем уровне трехуровневого пространства имен (catalog.schema.table), как показано на следующей схеме:

Схема объектной модели каталога Unity, ориентированная на таблицу

Основные разрешения таблицы

Большинство операций с таблицами требуют и USE CATALOGUSE SCHEMA разрешения для каталога и схемы, содержащей таблицу.

В следующей таблице приведены дополнительные разрешения, необходимые для общих операций таблицы в каталоге Unity:

Операция Permissions
Создание таблицы CREATE TABLE в содержащей схеме
Запрос таблицы SELECT в таблице
Обновление, удаление, слияние или вставка данных в таблицу SELECT и MODIFY на таблице
Удаление таблицы MANAGE в таблице
Замена таблицы MANAGE в таблице в CREATE TABLE содержащей схеме

Дополнительные сведения о разрешениях каталога Unity см. в разделе "Управление привилегиями" в каталоге Unity.