我正在寻找如何从 Scala Spark 读取 Azure Synapse 表,但没有成功。我在https://docs.microsoft.com中找到了其他带有 Spark 的 Azure 数据库的连接器,但没有使用新的 Azure 数据仓库。
有谁知道这是否可能?
我正在寻找如何从 Scala Spark 读取 Azure Synapse 表,但没有成功。我在https://docs.microsoft.com中找到了其他带有 Spark 的 Azure 数据库的连接器,但没有使用新的 Azure 数据仓库。
有谁知道这是否可能?
现在可以直接通过简单的努力(甚至为此在 UI 中添加了一个右键单击选项)从 Azure Synapse 中的专用SQL 池(新的 Analytics 工作区,而不仅仅是 DWH)中读取数据Scala(不幸的是,现在只有 Scala)。
在 Synapse 工作区中(当然还有一个写入 API):
val df = spark.read.sqlanalytics("<DBName>.<Schema>.<TableName>")
如果在集成笔记本体验之外,需要添加导入:
import com.microsoft.spark.sqlanalytics.utils.Constants
import org.apache.spark.sql.SqlAnalyticsConnector._
听起来他们正在努力扩展到 SERVERLESS SQL 池以及其他 SDK(例如 Python)。
也许我误解了你的问题,但通常你会在 Spark 中使用 jdbc 连接来使用来自远程数据库的数据
检查此文档 https://docs.databricks.com/data/data-sources/azure/synapse-analytics.html
请记住,Spark 必须将 Synapse 表中的数据提取到内存中进行处理并在那里执行转换,因此它不会将操作下推到 Synapse 中。
通常,您希望对源数据库运行 SQL 查询,并且只将 SQL 的结果带入 Spark 数据帧。