在无服务器 SQL 池中同步 Apache Spark for Azure Synapse 外部表定义

无服务器 SQL 池可以自动从 Apache Spark 同步元数据。 将为无服务器 Apache Spark 池中存在的每个数据库创建无服务器 SQL 池数据库。

对于每个基于 Parquet 或 CSV 且位于 Azure 存储的 Spark 外部表,都将在无服务器 SQL 池数据库中创建一个外部表。 因此,在关闭 Spark 池的情况下,仍可从无服务器 SQL 池查询 Spark 外部表。

在 Spark 中对表进行分区时,存储中的文件将按文件夹进行组织。 无服务器 SQL 池会使用分区元数据,仅以相关文件夹和文件作为查询目标。

将为 Azure Synapse 工作区中预配的每个无服务器 Apache Spark 池自动配置元数据同步。 可以立即开始查询 Spark 外部表。

对于每个位于 Azure 存储的 Spark Parquet 或 CSV 外部表,都将通过与无服务器 SQL 池数据库对应的 dbo 架构中的一个外部表来表示。

对于 Spark 外部表查询,请运行以外部 [spark_table] 为目标的查询。 在运行下面的示例之前,对于文件所在的存储帐户,请确保拥有正确的存储帐户访问权限

SELECT * FROM [db].dbo.[spark_table]

Apache Spark 数据类型到 SQL 数据类型的映射

有关将 Apache Spark 数据类型映射到 SQL 数据类型的详细信息,请参阅 Azure Synapse Analytics 共享元数据表

后续步骤

转到存储访问控制一文,详细了解存储访问控制。