clickhouse - ClickHouse 创建临时表
问题描述
当我尝试在 ClickHouse 中创建临时表时遇到问题。我执行简单查询并收到错误
create TEMPORARY TABLE nn1 as select 1;
message: Code: 113, e.displayText() = DB::Exception: There is no session, e.what() = DB::Exception
有人知道它为什么会发生以及如何解决这个问题吗?我想在进行查询之前我需要开始会话,但我不知道该怎么做。
我正在尝试使用 ClickHouse 的界面进行查询。看起来像
解决方案
默认情况下,通过 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 秒,但可以调整。
推荐阅读
- php - Yii2 联系我们页面与 Swiftmailer
- html - 文本对齐:居中未正确居中
- directx - hlsl - isinf() 没有按预期工作
- excel - Excel VBA - 更新元数据表
- reactjs - 如何使用 gatsby-image 查询多个图像?
- asp.net-mvc - 从 Kentico 自定义表中填充我的 MVC 视图中的下拉列表
- r - gam 包上的命名空间说明符不起作用
- c# - ?? 或 .GetValueOrDefault()
- haskell - 以与 Free Monad 兼容的方式定义 Free Bind
- string - 在 C++ 中将剪贴板文本转换为类似中文的字符