Проверять подлинность между пулом Spark и SQL в Azure Synapse Analytics

Завершено

Другой способ проверки подлинности — использовать проверку подлинности SQL, а не идентификатор Microsoft Entra с пулом Apache Spark Azure Synapse в соединитель Synapse SQL.

В настоящее время соединитель между пулом Azure Synapse Apache Spark и Synapse SQL не поддерживает аутентификацию на основе токенов для выделенного пула SQL, который находится за пределами рабочей области Synapse Analytics. Чтобы установить и передать данные в выделенный пул SQL, который находится за пределами рабочей области без идентификатора Microsoft Entra, необходимо использовать проверку подлинности SQL.

Чтобы считывать данные из выделенного пула SQL за пределами рабочей области без идентификатора Microsoft Entra, используйте API чтения. API чтения работает с внутренними таблицами (управляемыми таблицами) и внешними таблицами в выделенном пуле SQL.

API чтения выглядит следующим образом при использовании проверки подлинности SQL:

val df = spark.read.
option(Constants.SERVER, "<server-name>.database.windows.net").
option(Constants.USER, <SQLServer Login UserName>).
option(Constants.PASSWORD, <SQLServer Login Password>).
sqlanalytics("<DBName>.<Schema>.<TableName>")

Он принимает следующие параметры:

  • Constants.Server. Укажите URL-адрес сервера.
  • Constants.USER. Имя пользователя для входа в SQLServer.
  • Constants.PASSWORD. Пароль для входа в SQLServer.
  • DBName. Имя базы данных.
  • Schema. Определение схемы, например dbo.
  • TableName. Имя таблицы, из которой планируется считывать данные.

Для записи данных в выделенный пул SQL используйте API записи. API записи создает таблицу в выделенном пуле SQL, а затем использует Polybase для загрузки данных в созданную таблицу.

API записи, использующий проверку подлинности SQL, выглядит следующим образом:

df.write.
option(Constants.SERVER, "<server-name>.database.windows.net").
option(Constants.USER, <SQLServer Login UserName>).
option(Constants.PASSWORD, <SQLServer Login Password>).
sqlanalytics("<DBName>.<Schema>.<TableName>", <TableType>)

Он принимает следующие параметры:

  • Constants.Server. Укажите URL-адрес сервера.
  • Constants.USER. Имя пользователя для входа в SQLServer.
  • Constants.PASSWORD. Пароль для входа в SQLServer.
  • DBName. Имя базы данных.
  • Schema. Определение схемы, например dbo.
  • TableName. Имя таблицы, из которой планируется считывать данные.
  • TableType. Спецификация типа таблицы, которая может принимать два значения.
    • Constants.INTERNAL. Управляемая таблица в выделенном пуле SQL.
    • Constants.EXTERNAL. Внешняя таблица в выделенном пуле SQL.