Блоки данных записывают обратно в ошибку лазурного синапса

Ниже мой код

df.write \
  .format("com.databricks.spark.sqldw") \
  .option("url", "jdbc:sqlserver://**********.sql.azuresynapse.net:1433;database=********") \
  .option("user","sqladminuser")\
 .option("password","***********") \
.option("forwardSparkAzureStorageCredentials", "true") \
  .option("dbTable", "dbo.testingoutfromdatabricks") \
  .option("tableOptions", "CLUSTERED COLUMNSTORE INDEX, DISTRIBUTION = HASH (_c0)") \
  .option("tempDir", "abfss://********@**********.dfs.core.windows.net/tempfolder/") \
  .save()

И я получил следующую ошибку.

Не удалось проверить внешнее расположение, поскольку удаленный сервер возвратил ошибку: (403) Запрещено. [ErrorCode = 105215] [SQLState = S0001]

из пула Azure synapse sql, я использую команду COPY из того же хранилища больших двоичных объектов и успешно загружаю таблицу ... Кто-нибудь получил указанную выше ошибку?


person mytabi    schedule 22.03.2021    source источник


Ответы (1)


Чтобы решить эту проблему, убедитесь, что при попытке доступа к защищенному хранилищу Azure необходимо использовать управляемую идентификацию службы.

Назначьте роль Storage Blob Data Contributor управляемому удостоверению сервера Azure Synapse Analytics.

Для получения дополнительных сведений см. Запись данных из Azure Databricks в выделенный пул SQL Azure (ранее SQL DW) с помощью ADLS Gen 2.

person CHEEKATLAPRADEEP-MSFT    schedule 23.03.2021