Подключение к внешним базам данных и каталогам

Azure Databricks предоставляет несколько вариантов запроса и доступа к данным во внешних базах данных и каталогах без переноса данных. Выберите подход на основе шаблона доступа, требований к управлению, потребностей записи и параметров вычислений.

Выбор подхода

В следующей таблице сравнивается федерация запросов и федерация каталога, чтобы помочь вам выбрать правильный подход.

Description Выполнение запросов Поддержка записи данных Governance лучше всего подходит для
Федерация запросов Выполнение федеративных запросов к внешним реляционным базам данных с помощью JDBC с автоматическим отправкой запросов и управлением каталогом Unity с помощью внешних каталогов. Отправляется в внешнюю базу данных с помощью JDBC. Запрос выполняется как на Azure Databricks, так и на удаленных вычислительных ресурсах. Не поддерживается (только для чтения). Сторонний каталог Unity Catalog с контролем доступа на уровне таблиц. Произвольная отчетность, BI и доступ к операционным базам данных для подтверждения концепции.
Федерация каталогов Подключите внешние платформы каталога (например, хранилище метаданных Hive, AWS Glue или Snowflake), чтобы можно было напрямую запрашивать данные в хранилище объектов. Работает напрямую с объектным хранилищем только на вычислительных ресурсах Azure Databricks. Более экономичный и оптимизированный для производительности, чем федерация запросов. Не поддерживается (только для чтения). Внешний каталог Unity Catalog с контролем доступа на уровне таблиц. Переход в каталог Unity постепенно или поддержка долгосрочной гибридной модели с данными во внешнем каталоге.

Федерация Lakehouse

Федерация Lakehouse — это платформа федерации запросов Azure Databricks. Он предоставляет управляемый, доступный только для чтения доступ к внешним данным через внешние каталоги Unity, с автоматическим отправкой запросов и подробными элементами управления доступом на уровне таблицы.

Существует два типа федерации Lakehouse: федерация запросов и федерация каталога.

Сравнение федерации запросов и федерации каталогов

В следующей таблице описаны основные различия между федерацией запросов и федерацией каталогов.

Путь запроса Сценарий использования Обзор действий
Федерация запросов Запросы каталога Unity отправляются в внешнюю базу данных с помощью JDBC. Запрос выполняется как в Azure Databricks, так и с помощью удаленных вычислений.
  • Вам требуется создание отчетов по мере необходимости или доступ для проверки концепции к операционным данным, хранящимся во внешних базах данных.
  • Вы хотите свести к минимуму перемещение данных и поддерживать динамический доступ к внешним системам.

Если ваш источник данных поддерживает и Lakehouse Federation, и Lakeflow Connect, Azure Databricks рекомендует Lakeflow Connect, если приоритетами являются высокая производительность при больших объемах данных и низкая задержка.
  • Создайте подключение в каталоге Unity с учетными данными доступа и URL-адресом JDBC.
  • Создайте внешний каталог с помощью подключения.
  • Предоставьте пользователям права доступа к таблицам в внешнем каталоге.
  • Выполняйте запросы. Они отправляются в внешнюю базу данных.
Федерация каталогов Запросы в Каталоге Unity непосредственно обращаются к внешней таблице в объектном хранилище. Федерация каталогов доступна для платформ, поддерживающих прямой доступ к службам каталога и хранилища. Запрос выполняется только на Azure Databricks вычислениях, что означает, что федерация каталогов является более экономичной и оптимизированной для производительности, чем федерация запросов.
  • Вы переходите на Unity Catalog, но вам нужно постепенно подключать данные, управляемые из внешнего каталога.
  • Требуется долгосрочная гибридная модель, в которой некоторые данные остаются во внешнем каталоге, а некоторые данные управляются каталогом Unity.
  • Создайте подключение в каталоге Unity для доступа к внешнему каталогу.
  • Создайте учетные данные хранилища и внешнее местоположение для путей таблицы.
  • Создайте внешний каталог с помощью подключения и внешнего местоположения.
  • Предоставьте пользователям права доступа к таблицам в внешнем каталоге.
  • Выполняйте запросы. Они выполняются непосредственно в хранилище объектов.

Поддерживаемые источники данных

Подключитесь к следующим источникам с помощью федерации запросов:

Подключитесь к следующим источникам с помощью федерации каталога:

Источники данных Spark

API источника данных Spark позволяет считывать данные из внешних баз данных и записывать их непосредственно из Azure Databricks. Используйте его, если Lakehouse Federation не поддерживает ваш источник, если вам нужны права на запись или если вам нужно больше контроля над выполнением запросов и параллелизацией.

Databricks Runtime включает в себя объединенные соединители для общих баз данных, таких как PostgreSQL, SQL Server, MySQL, Snowflake и Redshift. Для любой базы данных, совместимой с JDBC, можно использовать подключение каталога JDBC Unity для создания собственного драйвера с централизованным управлением учетными данными. Вы также можете установить сторонние соединители на выделенные кластеры или создать полностью настраиваемые соединители в Python с помощью API PySpark DataSource.

Инструкции по настройке и подробные сведения см. в разделе "Источники данных Spark".

Дополнительные ресурсы