当我尝试在 ClickHouse 中创建临时表时遇到问题。我执行简单查询并收到错误
create TEMPORARY TABLE nn1 as select 1;
message: Code: 113, e.displayText() = DB::Exception: There is no session, e.what() = DB::Exception
Run Code Online (Sandbox Code Playgroud)
有人知道为什么会发生以及如何解决问题吗?我想我需要在执行查询之前启动会话,但我不知道如何执行此操作。
我正在尝试使用 ClickHouse 的接口进行查询。看起来像
fil*_*nov 10
默认情况下,所有通过 HTTP 接口完成的查询都是无状态的。
要使用临时表,您需要有一个活动会话。session_id
将具有某些值的参数添加到 ClickHouse 请求的 URL 中就足够了。
例如:
替换http://127.0.0.1:8123/
为http://127.0.0.1:8123/?session_id=mysession
稍后使用相同的请求session_id
将“记住”您在之前的查询中所做的临时表、设置等session_id
。
另请记住,会话使用独占锁,因此您不能同时运行具有相同 session_id 的 2 个请求。默认情况下,会话生存期等于 60 秒,但可以调整。
查看官方文档https://clickhouse.yandex/docs/en/interfaces/http/
归档时间: |
|
查看次数: |
13886 次 |
最近记录: |