首页 > 解决方案 > 从 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-Pool,而不是数据湖,无论如何我也刚刚为数据湖创建了一个私有端点,但它仍然无法正常工作。

有谁知道这是否可能?

标签: azure-synapsespark-notebook

解决方案


推荐阅读