Что такое таблица?
Таблица находится в схеме и содержит строки данных. Все таблицы, созданные в Azure Databricks, используют Delta Lake по умолчанию. Таблицы, поддерживаемые Delta Lake, также называются таблицами Delta.
Таблица Delta хранит данные в виде каталога файлов в облачном хранилище объектов и регистрирует метаданные таблицы в хранилище метаданных в каталоге и схеме. Все управляемые таблицы каталога Unity и таблицы потоковой передачи — это разностные таблицы. Внешние таблицы каталога Unity могут быть разностные таблицы, но не являются обязательными.
Можно создать таблицы в Databricks, которые не используют Delta Lake. Эти таблицы не предоставляют гарантии транзакций или оптимизированную производительность таблиц Delta. Вы можете создать следующие типы таблиц, используя форматы, отличные от Delta Lake:
- Внешние таблицы.
- Внешние таблицы.
- Таблицы, зарегистрированные в устаревшем хранилище метаданных Hive.
В каталоге Unity таблицы располагаются на третьем уровне трехуровневого пространства имен (catalog.schema.table
):
Типы таблиц Azure Databricks
Azure Databricks позволяет использовать следующие типы таблиц.
Управляемые таблицы
Управляемые таблицы управляют базовыми файлами данных вместе с регистрацией хранилища метаданных. Databricks рекомендует использовать управляемые таблицы при создании новой таблицы. Управляемые таблицы каталога Unity — это значение по умолчанию при создании таблиц в Azure Databricks. Они всегда используют Delta Lake. См. статью " Работа с управляемыми таблицами".
Внешние таблицы
Внешние таблицы, иногда называемые неуправляемые таблицы, отделяют управление базовыми файлами данных от регистрации хранилища метаданных. Внешние таблицы каталога Unity могут хранить файлы данных с помощью общих форматов, доступных для чтения внешними системами. См. статью " Работа с внешними таблицами".
Разностные таблицы
Термин Delta table используется для описания любой таблицы, поддерживаемой Delta Lake. Так как разностные таблицы являются значениями по умолчанию в Azure Databricks, большинство ссылок на таблицы описывают поведение таблиц Delta, если не указано иное.
Databricks рекомендует всегда взаимодействовать с таблицами Delta, используя полные имена таблиц, а не пути к файлам.
Потоковая передача таблиц
Потоковая передача таблиц — это разностные таблицы, в основном используемые для обработки добавочных данных. Большинство обновлений для потоковой передачи таблиц выполняются с помощью операций обновления.
Таблицы потоковой передачи можно зарегистрировать в каталоге Unity с помощью Databricks SQL или определить их как часть конвейера разностных динамических таблиц. См. сведения о загрузке данных с помощью потоковых таблиц в Databricks SQL. и что такое разностные динамические таблицы?.
Внешние таблицы
Внешние таблицы представляют данные, хранящиеся во внешних системах, подключенных к Azure Databricks через федерацию Lakehouse. Внешние таблицы доступны только для чтения в Azure Databricks. См. статью "Что такое Федерация Lakehouse?".
Таблицы компонентов
Любая таблица Delta, управляемая каталогом Unity с первичным ключом, является таблицей компонентов. При необходимости можно настроить таблицы компонентов с помощью интернет-хранилища компонентов для вариантов использования с низкой задержкой. См. статью " Работа с таблицами компонентов" в хранилище функций рабочей области.
Таблицы Hive (устаревшие версии)
В таблицах Hive описаны два различных понятия в Azure Databricks, оба из которых являются устаревшими шаблонами и не рекомендуется.
Таблицы, зарегистрированные с помощью устаревшего хранилища метаданных Hive, хранятся в устаревшем корневом каталоге DBFS по умолчанию. Databricks рекомендует перенести все таблицы из устаревшего каталога HMS в каталог Unity. См . статью "Объекты базы данных" в устаревшем хранилище метаданных Hive.
Apache Spark поддерживает регистрацию и запросы таблиц Hive, но эти кодеки не оптимизированы для Azure Databricks. Databricks рекомендует регистрировать таблицы Hive только для поддержки запросов к данным, записанным внешними системами. См. таблицу Hive (устаревшую версию).
Динамические таблицы (не рекомендуется)
Термин динамических таблиц относится к более ранней реализации функциональных возможностей, реализованных как материализованные представления. Любой устаревший код, ссылающийся на динамические таблицы, должен быть обновлен, чтобы использовать синтаксис для материализованных представлений. См. статью "Что такое разностные динамические таблицы" и " Использование материализованных представлений" в Databricks SQL.
Основные разрешения таблицы
Для создания таблицы пользователь должен иметь разрешения CREATE TABLE
и USE SCHEMA
для схемы, а также разрешение USE CATALOG
для ее родительского каталога. Чтобы запросить таблицу, пользователи должны иметь SELECT
разрешение на таблицу, USE SCHEMA
разрешение на родительскую схему и USE CATALOG
разрешение родительского каталога.
Дополнительные сведения о разрешениях каталога Unity см. в разделе "Управление привилегиями" в каталоге Unity.