Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Представление — это объект, доступный только для чтения, который является результатом запроса по одной или нескольким таблицам и представлениям в хранилище метаданных каталога Unity. Вы можете создать представление из таблиц и из других представлений в нескольких схемах и каталогах.
В этой статье описываются представления, которые можно создавать в Azure Databricks и предоставляет описание разрешений и вычислений, необходимых для их запроса.
Сведения о создании представлений см. в следующем разделе:
- Создайте представления
- Создание представлений метрик
- материализованные представления
- динамические представления
Представления в каталоге Unity
В каталоге Unity представления располагаются на третьем уровне трехуровневого пространства имен (catalog.schema.view):
Представление обычно хранит текст запроса для одного или нескольких источников данных или таблиц в хранилище метаданных. В Azure Databricks представление аналогично объекту Spark DataFrame, сохраненному в схеме. В отличие от DataFrame, можно запрашивать представления из любого места в Azure Databricks, при условии, что у вас есть разрешение на это. Создание представления не обрабатывает и не записывает данные. Только текст запроса регистрируется в хранилище метаданных в связанной схеме.
Примечание.
Представления могут иметь другую семантику выполнения, если они поддерживаются источниками данных, отличными от разностных таблиц. Databricks рекомендует всегда определять представления, ссылаясь на источники данных с помощью имени таблицы или представления. Определение представлений для наборов данных путем указания пути или URI может привести к путанице требований к управлению данными.
Просмотры метрик
Представления метрик в каталоге Unity определяют повторно используемые бизнес-метрики, которые централизованно поддерживаются и доступны всем пользователям в рабочей области. Метрическое представление обобщает логику основных KPI — таких как доход, количество клиентов или конверсия — чтобы их можно было последовательно запрашивать на панелях мониторинга, в блокнотах и отчетах. Каждое представление метрик задает набор мер и измерений на основе исходной таблицы, представления или SQL-запроса. Представления метрик определяются в YAML и запрашиваются с помощью SQL.
Использование представлений метрик помогает снизить несоответствия в определениях метрик, которые в противном случае могут дублироваться в различных инструментах и рабочих процессах. Дополнительные сведения см. в представлениях метрик .
Материализованные представления
Материализованные представления постепенно вычисляют и обновляют результаты, возвращаемые определяющим запросом. Материализованные представления в Azure Databricks представляют собой особый вид таблиц Delta. В то время как все другие представления в Azure Databricks вычисляют результаты путем оценки логики, определяемой представлением при запросе, материализованные представления обрабатывают результаты и сохраняют их в базовой таблице при обработке обновлений с помощью расписания обновления или запуска обновления конвейера.
Вы можете зарегистрировать материализованные представления в Каталоге Unity с помощью Databricks SQL или определить их как часть декларативных конвейеров Lakeflow Spark. См. "Использование материализованных представлений в Databricks SQL" и Lakeflow Spark Декларативные конвейеры.
Временные представления
Временное представление имеет ограниченную область и сохраняемость и не регистрируется в схеме или каталоге. Время существования временного представления отличается в зависимости от используемой среды:
- В блокнотах и задачах временные представления ограничены уровнем блокнота или скрипта. На них нельзя ссылаться за пределами записной книжки, в которой они объявлены, и они перестают существовать, когда записная книжка отсоединяется от кластера.
- В Databricks SQL временные представления ограничены уровнем запроса. Несколько инструкций в одном запросе могут использовать временное представление, однако на него нельзя ссылаться в других запросах даже в рамках одной панели мониторинга.
Динамические представления
Динамические представления можно использовать для обеспечения управления доступом на уровне строк и столбцов в дополнение к маскировке данных. См. раздел Создание динамического представления.
Представления в хранилище метаданных Hive (устаревшее)
Вы можете определить устаревшие представления Hive для любого источника данных и зарегистрировать их в устаревшем хранилище метаданных Hive. Databricks рекомендует перенести все устаревшие представления Hive в каталог Unity. Виды см. в хранилище метаданных Hive.
Глобальное временное представление Hive (устаревшая версия)
Глобальные временные представления — это устаревшая функция Azure Databricks, которая позволяет зарегистрировать временное представление, доступное для всех рабочих нагрузок, работающих с вычислительным ресурсом. Глобальные временные представления — это устаревший пережиток систем Hive и HDFS. Databricks не рекомендует использовать глобальные временные представления.
требования к запросам представлений
Для чтения представлений, зарегистрированных в каталоге Unity, необходимые разрешения зависят от типа вычислений, версии Databricks Runtime и режима доступа.
Примечание.
Для всех представлений проверки разрешений выполняются как в самом представлении, так и в базовых таблицах и представлениях, на основе которых создано представление. Пользователь, чьи разрешения проверяются для базовых таблиц и представлений, определяется вычислительной средой. В случае следующего, каталог Unity проверяет права владельца представления на базовые данные.
- Хранилища SQL.
- Стандартные вычислительные ресурсы (ранее общие вычислительные ресурсы).
- Выделенные вычислительные ресурсы (ранее однопользовательские вычисления) в Databricks Runtime 15.4 LTS и более поздних версий с поддержкой точного управления доступом.
Для выделенных вычислений в Databricks Runtime 15.3 и ниже каталог Unity проверяет разрешения владельца представления и разрешения пользователя представления на базовые данные.
Это поведение отражается в требованиях, перечисленных ниже. В любом случае, владелец представления должен сохранять разрешения на основные данные, чтобы пользователи могли получить доступ к представлению.
- Для всех вычислительных ресурсов необходимо иметь
SELECTв самом представлении,USE CATALOGв родительском каталоге иUSE SCHEMAв родительской схеме. Это относится ко всем типам вычислений, которые поддерживают каталог Unity, включая хранилища SQL, кластеры в стандартном режиме доступа и кластеры в выделенном режиме доступа в Databricks Runtime 15.4 и более поздних версий. - Для кластеров Databricks Runtime 15.3 и ниже, использующих выделенный режим доступа, необходимо также обеспечить наличие
SELECTна всех таблицах и представлениях, на которые ссылается этот представление, в дополнение кUSE CATALOGна их родительские каталоги иUSE SCHEMAна их родительские схемы.
Примечание.
Если вы используете выделенный кластер в Databricks Runtime 15.4 LTS и более поздних версий, и вы хотите избежать требования к использованию SELECT базовых таблиц и представлений, убедитесь, что рабочая область включена для бессерверных вычислений.
Бессерверные вычислительные ресурсы обрабатывают фильтрацию данных, которая позволяет получить доступ к представлению, не требуя разрешений для базовых таблиц и представлений. Помните, что при использовании выделенных вычислений для запроса к представлениям могут взиматься затраты на бессерверные вычисления. Дополнительные сведения см. в разделе "Детализированное управление доступом на выделенных вычислительных ресурсах".