Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Каталог Unity поддерживает три основных типа таблиц: управляемые, внешние и иностранные таблицы. Каждый тип отличается в том, как данные хранятся, управляются и регулируются.
Управляемые таблицы
Управляемые таблицы — это тип таблицы по умолчанию и рекомендуемый тип таблицы. Каталог Unity управляет жизненным циклом данных, расположением хранилища и оптимизацией. При удалении управляемой таблицы удаляются метаданные и базовые файлы данных.
Управляемые таблицы основываются на Delta Lake или Apache Iceberg и предоставляют следующие возможности:
- Автоматическая оптимизация для уменьшения затрат на хранение и вычислительные ресурсы
- Более быстрая производительность запросов во всех типах клиентов
- Автоматическое обслуживание таблиц
- Безопасный доступ для клиентов, отличных от Databricks, с помощью открытых API
- Автоматическое обновление до последних функций платформы
Файлы данных хранятся в схеме или каталоге, содержащей таблицу. См. управляемые таблицы Unity Catalog для Delta Lake и Apache Iceberg.
Внешние таблицы
Внешние таблицы ссылаются на данные, хранящиеся в облачном хранилище объектов, которыми вы управляете. Каталог Unity управляет доступом к данным, но не управляет жизненным циклом данных, оптимизацией или макетом хранилища. При удалении внешней таблицы удаляются только метаданные каталога, а базовые файлы данных остаются.
Внешние таблицы каталога Unity поддерживают форматы Delta Lake, CSV, JSON, AVRO, PARQUET, ORC и TEXT. Databricks рекомендует использовать формат Delta Lake, так как он имеет гарантии транзакций и оптимизацию производительности, которые другие форматы не используют.
При необходимости используйте внешние таблицы:
- Регистрация существующих данных, несовместимых с управляемыми таблицами каталога Unity
- Предоставление прямого доступа к данным от клиентов, отличных от Databricks, которые не поддерживают другие шаблоны внешнего доступа
См. статью " Работа с внешними таблицами".
Внешние таблицы
Внешние таблицы (также называемые федеративные таблицы) — это таблицы только для чтения, управляемые внешним каталогом, зарегистрированным в каталоге Unity. Внешние системы управляют данными и метаданными, а каталог Unity добавляет управление данными для запроса.
Azure Databricks поддерживает два метода регистрации внешних таблиц:
- Федерация запросов: использует безопасные подключения JDBC к внешним системам данных, таким как PostgreSQL и MySQL
- Федерация каталога: подключает внешние каталоги к запросу данных непосредственно в хранилище файлов
Внешние таблицы, использующие формат Delta Lake, не имеют большого количества оптимизаций, доступных в управляемых таблицах каталога Unity. Для рабочих нагрузок или часто запрашиваемых наборов данных перейдите в управляемые таблицы каталога Unity для повышения производительности. См. статью "Работа с внешними таблицами".
Сравнение типов таблиц
В следующей таблице сравниваются три типа таблиц:
| Feature | Управляемые таблицы | Внешние таблицы | Внешние таблицы |
|---|---|---|---|
| Управление жизненным циклом данных | Управление каталогом Unity | Вы управляете | Внешняя система управляет |
| Расположение хранилища | Управление каталогом Unity | Вы указываете | Внешняя система управляет |
| Автоматическая оптимизация | Yes | Limited | No |
| Поддерживаемые форматы | Delta Lake, Apache Iceberg | Delta Lake (рекомендуется), CSV, JSON, AVRO, PARQUET, ORC, TEXT | Зависит от внешней системы |
Данные удалены DROP TABLE |
Yes | No | No |
| лучше всего подходит для | Производственные нагрузки, данные, к которым часто обращаются | Устаревшие интеграции, существующие данные | Миграция из внешних систем, временный доступ |
Другие типы таблиц
Azure Databricks также поддерживает специализированные типы таблиц для конкретных вариантов использования:
- Потоковые таблицы: наборы данных конвейеров Lakeflow на базе Delta Lake с логикой инкрементной обработки
- Материализованные представления: наборы данных в Lakeflow pipelines на базе Delta Lake, которые материализуют результаты запросов с использованием логики управляемого потока
Устаревшие типы таблиц
Следующие устаревшие типы таблиц поддерживаются для обратной совместимости, но не рекомендуется для новой разработки.
Таблицы Hive
Таблицы Hive управляются устаревшим хранилищем метаданных Hive и используют устаревшие шаблоны, включая кодеки Hive SerDe и синтаксис Hive SQL. По умолчанию таблицы, зарегистрированные с помощью устаревшего хранилища метаданных Hive, хранят данные в устаревшем корневом каталоге DBFS.
Databricks рекомендует перенести все таблицы из устаревшего каталога HMS в каталог Unity. См. статью "Объекты базы данных в устаревшем хранилище метаданных Hive".
Кроме того, вы можете настроить федерацию хранилища метаданных Hive в каталоге Unity и получить доступ к таблицам в качестве внешних таблиц в каталоге Unity. См. федерацию хранилища метаданных Hive: включите каталог Unity для управления таблицами, зарегистрированными в хранилище метаданных Hive.
Apache Spark поддерживает регистрацию и запросы таблиц Hive, но кодеки Hive SerDe не оптимизированы для Azure Databricks. Регистрируйте таблицы Hive только в том случае, если необходимо поддерживать запросы на данные, записанные внешними системами. См. таблицу Hive (устаревшую версию).
Динамические таблицы
Термин динамических таблиц относится к более ранней реализации функциональных возможностей, доступных как материализованные представления. Обновите устаревший код, который ссылается на динамические таблицы для использования синтаксиса материализованного представления. См. декларативные конвейеры Spark и материализованные представления.