在无服务器 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 共享元数据表。
后续步骤
转到存储访问控制一文,详细了解存储访问控制。