在clickhouse中创建临时表时遇到问题。我执行简单的查询并得到一个错误
create TEMPORARY TABLE nn1 as select 1;
message: Code: 113, e.displayText() = DB::Exception: There is no session, e.what() = DB::Exception
有人知道为什么会这样,以及如何解决这个问题吗?我支持在执行查询之前启动会话,但我不知道如何执行此操作。
我正在尝试使用clickhouse的查询界面来实现这一点。看起来像
1条答案
按热度按时间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/