单击“创建临时表”

z0qdvdin  于 2021-07-15  发布在  ClickHouse
关注(0)|答案(1)|浏览(876)

在clickhouse中创建临时表时遇到问题。我执行简单的查询并得到一个错误

create TEMPORARY TABLE nn1 as select 1;

message: Code: 113, e.displayText() = DB::Exception: There is no session, e.what() = DB::Exception

有人知道为什么会这样,以及如何解决这个问题吗?我支持在执行查询之前启动会话,但我不知道如何执行此操作。
我正在尝试使用clickhouse的查询界面来实现这一点。看起来像

zvms9eto

zvms9eto1#

默认情况下,通过http接口完成的所有查询都是无状态的。
要使用临时表,您需要有一个活动会话。这就足够了 session_id 对clickhouse请求的url具有某些值的参数。
例如:
替换 http://127.0.0.1:8123/http://127.0.0.1:8123/?session_id=mysession 以后的请求也一样 session_id 将'记住'临时表,设置等,你在以前的查询与此 session_id .
还请记住,会话使用独占锁,因此不能同时运行两个具有相同会话id的请求。默认情况下,会话生存时间等于60秒,但可以调整。
检查官方文件https://clickhouse.yandex/docs/en/interfaces/http/

相关问题