Выполнение федеративных запросов в другой рабочей области Databricks
Внимание
Эта функция предоставляется в режиме общедоступной предварительной версии.
В этой статье описывается настройка Федерации Lakehouse для выполнения федеративных запросов к данным Databricks в другой рабочей области Databricks. Дополнительные сведения о Федерации Lakehouse см. в статье "Что такое Федерация Lakehouse".
Внимание
Databricks to Databricks Lakehouse Federation — это хороший инструмент для выполнения запросов к данным, управляемых другой рабочей областью Databricks Hive или хранилище метаданных AWS Glue. Для большинства других сценариев другие рабочие процессы Azure Databricks более эффективны:
- Если рабочие области Azure Databricks используют одно и то же хранилище метаданных каталога Unity, вы можете управлять запросами между рабочими областями с помощью стандартных запросов каталога Unity и средств управления данными.
- Если требуется доступ только для чтения к данным в рабочей области Databricks, подключенной к другому хранилищу метаданных каталога Unity, независимо от того, в вашей учетной записи Azure Databricks или нет, Delta Sharing является лучшим выбором.
В любом из этих сценариев не нужно настраивать федерацию Lakehouse.
Чтобы подключиться к каталогу Databricks в другой рабочей области с помощью Федерации Lakehouse, необходимо создать следующее в хранилище метаданных каталога Azure Databricks Unity:
- Кластер или хранилище SQL в рабочей области Databricks.
- Подключение к кластеру или хранилищу SQL.
- Внешний каталог в хранилище метаданных каталога Unity, который отражает другой каталог Databricks, доступный из кластера или хранилища SQL, чтобы использовать синтаксис запросов каталога Unity и средства управления данными для управления доступом пользователей Azure Databricks к данным.
Подготовка к работе
Требования к рабочей области:
- Рабочая область включена для каталога Unity.
Требования к вычислениям:
- Сетевое подключение из кластера среды выполнения Databricks или хранилища SQL к целевым системам баз данных. См . рекомендации по сети для Федерации Lakehouse.
- Кластеры Azure Databricks должны использовать Databricks Runtime 13.3 LTS или более поздней версии и режим общего или однопользовательского доступа.
- Склады SQL должны быть профессиональными или бессерверными.
Необходимые разрешения:
- Чтобы создать подключение, необходимо быть администратором хранилища метаданных или пользователем с
CREATE CONNECTION
привилегиями в хранилище метаданных каталога Unity, подключенном к рабочей области. - Чтобы создать внешний каталог, необходимо иметь
CREATE CATALOG
разрешение на хранилище метаданных и быть владельцем подключения или иметьCREATE FOREIGN CATALOG
привилегии для подключения.
Дополнительные требования к разрешениям указываются в каждом разделе на основе задач, который следует выполнить.
Кроме того, для настройки подключения необходимо иметь активный кластер или хранилище SQL в рабочей области Azure Databricks.
Создание подключения
Подключение задает путь и учетные данные для доступа к внешней системе базы данных. Чтобы создать подключение, можно использовать обозреватель каталогов или команду SQL в записной книжке Azure Databricks или CREATE CONNECTION
редакторе sql-запросов Databricks.
Необходимые разрешения: администратор хранилища метаданных или пользователь с привилегиями CREATE CONNECTION
.
Обозреватель каталогов
- В рабочей области Azure Databricks щелкните "Каталог".
- В левой области разверните меню "Внешние данные" и выберите "Подключения".
- Нажмите Create connection (Создать подключение).
- Введите понятное имя подключения.
- Выберите типподключения Databricks.
- Введите следующие свойства подключения для другого экземпляра Databricks.
- Узел: имя экземпляра рабочей области. Сведения о том, как получить имя экземпляра рабочей области, см. в статье "Получение идентификаторов для объектов рабочей области".
- HTTP-путь: HTTP-путь для хранилища SQL. Чтобы получить путь, перейдите к хранилищам SQL > на боковой панели, выберите хранилище SQL, перейдите на вкладку сведений о подключении и скопируйте значение для пути HTTP.
- Личный маркер доступа: личный маркер доступа Azure Databricks, который обеспечивает доступ к целевой рабочей области. Чтобы узнать, как получить маркер, ознакомьтесь с проверкой подлинности личного маркера доступа Azure Databricks. Для подключений Databricks рекомендует использовать личный маркер доступа для субъекта-службы.
- (Необязательно) Нажмите кнопку "Проверить подключение" , чтобы убедиться, что она работает.
- (Необязательно) Добавьте комментарий.
- Нажмите кнопку Создать.
SQL
Выполните следующую команду в записной книжке или редакторе sql-запросов Databricks, заменив следующее:
<connection-name>
: понятное имя создаваемого соединения.<workspace-instance>
: целевой экземпляр рабочей области. Сведения о том, как получить имя экземпляра рабочей области, см. в статье "Получение идентификаторов для объектов рабочей области".<sql-warehouse-path>
: HTTP-путь для хранилища SQL. Чтобы получить путь, перейдите к хранилищам SQL > на боковой панели, выберите хранилище SQL, перейдите на вкладку сведений о подключении и скопируйте значение для пути HTTP.<personal-access-token>
: личный маркер доступа Azure Databricks, который обеспечивает доступ к целевой рабочей области. Чтобы узнать, как получить маркер, ознакомьтесь с проверкой подлинности личного маркера доступа Azure Databricks. Для подключений Databricks рекомендует использовать личный маркер доступа субъекта-службы.
CREATE CONNECTION <connection-name> TYPE databricks
OPTIONS (
host '<workspace-instance>',
httpPath '<sql-warehouse-path>',
personalAccessToken '<personal-access-token>'
);
Рекомендуется использовать секреты Azure Databricks вместо строк открытого текста для конфиденциальных значений, таких как учетные данные. Например:
CREATE CONNECTION <connection-name> TYPE databricks
OPTIONS (
host '<workspace-instance>',
httpPath '<sql-warehouse-path>',
personalAccessToken secret ('<secret-scope>','<secret-key-password>')
)
Сведения о настройке секретов см. в разделе "Управление секретами".
Создание внешнего каталога
Внешний каталог зеркально отражает каталог во внешней рабочей области Databricks, чтобы можно было запрашивать и управлять доступом к данным в этом внешнем каталоге Databricks, как если бы он был каталогом в собственных рабочих задачах. Чтобы создать внешний каталог, вы используете подключение к внешней рабочей области Databricks, которая уже определена.
Чтобы создать внешний каталог, можно использовать обозреватель каталогов или CREATE FOREIGN CATALOG
команду SQL в записной книжке Azure Databricks или редакторе sql-запросов Databricks.
Необходимые разрешения:CREATE CATALOG
разрешение на хранилище метаданных и право владения подключением или CREATE FOREIGN CATALOG
привилегией подключения.
Обозреватель каталогов
- В рабочей области Azure Databricks щелкните "Каталог".
- Нажмите кнопку Создать каталог.
- В диалоговом окне "Создание нового каталога" введите имя каталога и выберите типвнешнего пользователя.
- Выберите подключение, которое предоставляет доступ к базе данных, которую вы хотите зеркально отражать в качестве каталога каталога Unity.
- Введите имя целевого каталога Databricks.
- Нажмите кнопку Создать.
SQL
Выполните следующую команду SQL в записной книжке или редакторе SQL Databricks. Элементы в квадратных скобках являются необязательными. Замените значения-заполнители:
<catalog-name>
: имя создаваемого внешнего каталога.<connection-name>
: объект подключения, указывающий источник данных, путь и учетные данные доступа.<external-catalog-name>
: имя каталога во внешней рабочей области Databricks, в которую выполняется зеркальное отображение.
CREATE FOREIGN CATALOG [IF NOT EXISTS] <catalog-name> USING CONNECTION <connection-name>
OPTIONS (catalog '<external-catalog-name>');
Поддерживаемые pushdowns
Для всех вычислений поддерживаются следующие pushdown:
- Фильтры
- Проекции.
- Лимит
- Функции: поддерживаются только выражения фильтров (строковые функции, математические функции, функции Data, Time и Timestamp и другие другие функции, такие как Псевдоним, Приведение, Сортировка).
Следующие pushdown поддерживаются в Databricks Runtime 13.3 LTS и более поздних версиях и вычислительных ресурсах хранилища SQL:
- Статистические выражения
- Следующие логические операторы: =, =, <<=, =, >>=, <=>
- Следующие математические функции (не поддерживаются при отключении ANSI): +, -, *, %, /
- Следующие прочие операторы: ^, |, ~
- Сортировка при использовании с ограничением
Следующие pushdown не поддерживаются:
- Объединения
- Функции Windows
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по