Внешний доступ к представлениям

Important

Внешний доступ к представлениям через каталог Iceberg REST находится в бета-версии. Доступ к представлениям через API Unity REST обычно доступен.

Внешние движки могут запрашивать представления каталога Unity с помощью следующих API:

Внешний движок запускает SQL представления и читает базовые таблицы. Читатель должен иметь доступ к представлению и каждому представлению или таблице, на которые есть ссылка.

Requirements

  • Включите доступ к внешним данным для метахранилища. См. раздел Включение доступа к внешним данным в каталоге Unity.
  • Grant USE CATALOG и USE SCHEMA на родительских каталогах и схемах, SELECT на представлении и на каждом представлении или таблице, на которые есть ссылка, и EXTERNAL USE SCHEMA на схемах, содержащих эти таблицы.
  • Выполните аутентификацию с помощью личного токена доступа Azure Databricks или токена OAuth.
  • Используйте представление SQL, совместимое с внешним движком.

Запрос представлений в Apache Spark

Минимальные версии для примеров Spark:

  • Apache Spark 4.0.
  • Для представлений Delta: Unity Catalog Spark connector 0.6.0 и Delta Lake 4.3.0.
  • Для представлений Iceberg: Apache Iceberg 1.10.0.

Используйте имена каталогов Unity Catalog в качестве названий каталогов Spark, включая каталоги, на которые ссылается представление.

Представления над таблицами Delta

Настройте Spark с помощью доступа к таблицам Databricks из клиентов Delta, с перечисленными выше версиями Spark, Unity Catalog и Delta Lake.

Чтобы запросить представление, замените <catalog>, <schema> и <view> на имена вашего каталога, схемы и представления, затем запустите следующий SQL в Spark:

SELECT * FROM <catalog>.<schema>.<view>;

Представления для таблиц Iceberg

Настраивайте Spark с помощью доступа к таблицам Azure Databricks из клиентов Apache Iceberg, с перечисленными выше версиями Spark и Iceberg.

Чтобы запросить представление, замените <catalog>, <schema> и <view> на названия вашего каталога, схемы и представления, затем запустите следующий SQL в Spark:

SELECT * FROM <catalog>.<schema>.<view>;

Limitations

  • Создание и изменение представлений из внешней вычислительной среды не поддерживается.
  • Внешний движок должен поддерживать определения представлений на диалекте Spark SQL. Запросы, ссылающиеся на представление, используют SQL-диалект внешнего движка.

Доступ к каталогу Iceberg REST:

  • Представления с детализированными политиками контроля доступа, пользовательскими путями разрешения или пользовательскими функциями не поддерживаются.
  • Исторические версии представления не поддерживаются.
  • Spark использует SQL-настройки средства чтения. Результаты или ошибки могут отличаться от Databricks Runtime.