You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Apache Superset执行ClickHouse带TOP 2查询报DDL/DML不允许错误

Superset中ClickHouse带TOP的查询被误判为非只读操作的原因及解决

问题现象

在Apache Superset中执行针对ClickHouse的查询:

select top 2 storage_name
from proxy_space;

会触发错误提示:

DB engine Error This database does not allow for DDL/DML, and the query could not be parsed to confirm it is a read-only query. Please contact your administrator for more assistance.

但移除top 2后执行以下查询则完全正常:

select storage_name
from proxy_space;

原因说明

Superset通过内置的SQL解析器判断查询是否为只读操作,以此限制DDL/DML执行。问题出在语法适配层面:

  • ClickHouse本身支持SELECT TOP语法,但Superset的只读校验逻辑仅覆盖了标准SQL的SELECT ... LIMIT写法,未对TOP语法做适配,导致解析时无法识别这是只读的SELECT查询,进而误判为可能包含DDL/DML的操作。
  • 这属于Superset对ClickHouse语法兼容的覆盖不全,确实是个Bug。

临时解决方法

把TOP语法替换为ClickHouse同样支持的LIMIT写法即可绕过这个问题:

select storage_name
from proxy_space
limit 2;

内容的提问来源于stack exchange,提问作者ka3ak

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 12:14:50