【问题标题】:ClickHouse create temporary tableClickHouse 创建临时表
【发布时间】:2019-09-09 12:47:17
【问题描述】:

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

create TEMPORARY TABLE nn1 as select 1;

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

有人知道为什么会发生这种情况以及如何解决问题吗?我想在进行查询之前我需要开始会话,但我不知道该怎么做。

我正在尝试使用 ClickHouse 的界面进行查询。好像

【问题讨论】:

    标签: clickhouse


    【解决方案1】:

    默认情况下,通过 HTTP 接口完成的所有查询都是无状态的。

    要使用临时表,您需要有一个活动会话。在 ClickHouse 请求的 URL 中添加带有一些值的 session_id 参数就足够了。

    例如:
    替换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/

    【讨论】:

      猜你喜欢
      • 2016-03-06
      • 1970-01-01
      • 2020-04-18
      • 1970-01-01
      • 2014-12-16
      • 2019-03-13
      • 1970-01-01
      • 1970-01-01
      • 2013-03-19
      相关资源
      最近更新 更多