无法通过Spark在Synapse Lake数据库中创建Schema,如何单库建多Schema?
在Synapse Lake数据库中创建子Schema的正确方法
问题原因
在Synapse Spark Notebook中直接执行CREATE SCHEMA Test时,Spark SQL会默认将Schema识别为Lake数据库(Synapse Lake语境下,Spark的Schema概念和Database容易混淆),因此会创建一个名为Test的Lake数据库,而非现有Lake库下的子Schema。
正确操作方法
要在已有的单个Lake数据库下创建不同子Schema,有两种方式:
方式一:先切换到目标Lake数据库再创建Schema
%%sql -- 替换为你的目标Lake数据库名称 USE DATABASE YourTargetLakeDB; -- 创建子Schema CREATE SCHEMA Test;
方式二:创建时直接指定所属Lake数据库
%%sql -- 格式:CREATE SCHEMA [数据库名].[Schema名] CREATE SCHEMA YourTargetLakeDB.Test;
验证结果
执行以下语句确认Schema是否创建成功:
%%sql SHOW SCHEMAS IN YourTargetLakeDB;
额外注意
- 确保目标Lake数据库已存在,若未创建可先执行:
CREATE DATABASE IF NOT EXISTS YourTargetLakeDB; - Synapse Spark中的Schema是Lake数据库下的命名空间,用于分类管理表、视图等对象,需和Lake数据库区分开。
内容的提问来源于stack exchange,提问作者Prayag15
相关产品推荐
相关产品推荐

