从 Azure Synapse spark notebook 连接到 SQL-Pool 表

问题描述

我正在寻找如何使用 Scala Spark 从另一个工作区的 sql 池读取 Azure Synapse 表,但没有成功(因为它显然是唯一的选择)。 我在 https://docs.microsoft.com/en-us/azure/synapse-analytics/spark/synapse-spark-sql-pool-import-export#use-pyspark-with-the-connector 中发现了非常有用的示例,但不适用于我的场景。

我想知道是否可以将链接服务作为选项添加到以下查询中?

%%spark
import com.microsoft.spark.sqlanalytics.utils.Constants
import org.apache.spark.sql.sqlAnalyticsConnector._

val df = spark.read.option(Constants.SERVER,"<SYNAPSE_WORKSPACE_NAME>.sql.azuresynapse.net").synapsesql("<DATABASE_NAME>.<DB_SCHEMA>.<DB_TABLE_NAME>")

像这样:

.option(Constants.LINKED_SERVICE,"LINKED_SERVICE_NAME")

我找不到任何关于此的文档。

我的问题是我使用的是私有网络,两个突触工作区都通过一个私有端点连接,它们运行良好,因为我可以使用管道连接到 sql 池。我的目标是使用 Spark Notebook 实现相同的目标。

出于某种原因,我收到错误消息:

错误:com.microsoft.spark.sqlanalytics.exception.sqlAnalyticsConnectorException:com.microsoft.sqlserver.jdbc.sqlServerException:数据泄露到“DATALAKE_NAME.dfs.core.windows.net”被阻止。将目标添加到允许数据泄露的列表中,然后重试。

但我不明白为什么它告诉我“数据泄露到 DATALAKE 被阻止?我试图访问 sql 池,而不是数据湖,无论如何,我也刚刚为数据湖创建了一个私有端点,但仍然没有工作。

有没有人知道这是否可能?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)