Druid Superset数据库已创建但未在SQL Lab显示,如何添加Schema?
我来帮你解决这个问题——你猜的没错,Druid Superset里创建的数据库在SQL Lab不显示,大概率是因为缺少正确配置的Schema。下面我把亲测有效的操作步骤和格式要求详细说清楚:
一、在Druid Superset中添加Schema的具体步骤
- 先进入Superset的数据源页面,找到你已经创建好的那个Druid数据库,点击它旁边的铅笔图标(编辑按钮)
- 在编辑页面里找到SQLAlchemy URI这一栏——这是配置Schema的核心位置
- 如果你之前的URI是基础版的(比如
druid://<druid_broker_host>:<port>/druid/v2/sql/),需要在末尾加上Schema参数来指定 - 配置完后一定要点击测试连接,确认连接正常后再保存修改
- 回到SQL Lab页面,刷新一下就能看到对应的数据库和Schema了
二、正确的Schema格式要求
针对Druid和Superset的适配,Schema的配置有两种常用方式,格式要求如下:
直接在SQLAlchemy URI中指定
正确格式示例:druid://your-druid-broker:8888/druid/v2/sql/?schema=your_druid_datasource_name这里的
your_druid_datasource_name必须和你在Druid中创建的**数据源(Datasource)**名称完全一致,注意Druid对名称大小写是敏感的。通过数据库额外参数配置
如果你不想修改URI,也可以在编辑数据库页面的额外参数(Advanced > Extra)里添加JSON格式的配置:{"schema": "your_druid_datasource_name"}
三、额外排查小贴士
- 确保Druid Broker服务处于正常运行状态,Superset能正常访问到Broker的端口
- 如果你有多个Druid数据源,不需要重复创建数据库,在SQL Lab里直接用
SELECT * FROM <datasource_name>就能查询(Druid的数据源本身就相当于一个逻辑表) - 如果还是不显示,尝试清除Superset的缓存:进入Superset的设置页面,找到清除缓存选项执行,或者重启Superset服务
内容的提问来源于stack exchange,提问作者shashank kumar
相关产品推荐
相关产品推荐

