Что такое таблицы и представления?
Таблицы и представления — это основные понятия в Databricks для организации и доступа к данным.
Таблица — это структурированный набор данных, хранящийся в определенном расположении, обычно в формате Delta Lake. Таблицы хранят фактические данные в хранилище и могут запрашиваться и управляться с помощью команд SQL или API кадра данных, поддерживающих операции, такие как вставка, обновление, удаление и слияние. См . статью "Что такое таблица?".
Представление — это виртуальная таблица, определяемая SQL-запросом. Представление не сохраняет данные. Вместо этого представление предоставляет способ представления данных из одной или нескольких таблиц в определенном формате или абстракции. Представления полезны для упрощения сложных запросов, инкапсулирования бизнес-логики и обеспечения согласованного интерфейса базовых данных без дедупликации хранилища. См . представление?.
Таблицы и представления в каталоге Unity
Таблицы и представления управляются с помощью каталога Unity. В каталоге Unity таблицы и представления располагаются на третьем уровне трехуровневого пространства имен (catalog.schema.table), как показано на следующей схеме.
Различия между разностными таблицами, потоковыми таблицами и материализованными представлениями
В следующей таблице приведены ответы на часто задаваемые вопросы о различиях между таблицами Delta, потоковыми таблицами и материализованными представлениями.
Вопрос | Таблица Delta | ST | MV |
---|---|---|---|
Что это такое? | Стандартные таблицы, хранящиеся в формате Delta Lake, поддерживающие транзакции ACID, применение схемы и другие функции Delta Lake. | Обычная разностная таблица, расширенная для потоковой передачи и добавочной обработки вариантов использования. | Результат запроса, результат которого всегда вычисляется предварительно и правильно. |
Какие варианты использования рекомендуется использовать? | Процедурный код, который выполняет следующие действия: -Проглатывание -Преобразование |
Декларативный код, который выполняет следующие действия: — прием из источников только для добавления — преобразования с низкой задержкой |
Декларативный код, который выполняет следующие действия: — добавочные преобразования — преобразования пакетной службы |
Как он заполняется? | Процедурный код (INSERT , UPDATE , MERGE секционирование перезаписи с помощью replaceWhere ) |
Декларативный код, включая: — добавление потоков — ПРИМЕНЕНИЕ ПОТОКОВ ИЗМЕНЕНИЙ — Один раз потоки |
Декларативные запросы |
Что такое тип объекта в каталоге Unity? | Таблица | Таблица | Представления |
Кто может обновить его? | Любой модуль записи, который может обновить таблицу Delta. | Только конвейер, определяющий потоковую таблицу, может обновить ее. | Только конвейер, определяющий материализованное представление, может обновить его. |
С какими функциями Delta Lake она совместима? | Поддерживает все функции Delta Lake. | Не поддерживает: — Секционирование жидкости — прогнозная оптимизация |
Не поддерживает: — Секционирование жидкости — прогнозная оптимизация |