【问题标题】:Clickhouse create jdbc engine table?Clickhouse创建jdbc引擎表?
【发布时间】:2020-04-18 10:45:28
【问题描述】:
CREATE TABLE jdbc_table 
ENGINE = JDBC('jdbc:mysql://192.168.10.16:4307/?user=root&password=root', 'test', 'test')

此语句出错

语法错误:在位置 114 失败(查询结束):

创建表 jdbc_table 引擎 = JDBC('jdbc:mysql://192.168.10.16:4307/?user=root&password=root', '测试','测试')

预期之一:AS、SETTINGS、TTL、PARTITION BY、PRIMARY KEY、ORDER 由,采样由

我不知道为什么。

【问题讨论】:

  • 我认为您应该在github.com/ClickHouse/ClickHouse/issues 中打开一个新问题。根据文档,语法似乎有效。我检查了 CH repo,发现没有测试 JDBC 引擎,可能是坏了。
  • 确保ClickHouse JDBC bridge 正在运行并尝试执行查询:select * from jdbc('jdbc:mysql://192.168.10.16:4307/?user=root&password=root ','测试','测试')。作为替代方案,尝试在 create table-statement 中定义列定义。

标签: clickhouse


【解决方案1】:

文档不正确。 Create table 需要一个列列表(例如 (A String, B UInt32))。

create table jdbc.category engine 
= JDBC('datasource://postgresql', 'public', 'category')
as select * from jdbc('datasource://postgresql', 'public', 'category');

create table jdbc.category(A String, B UInt32) 
engine = JDBC('datasource://postgresql', 'public', 'category')

【讨论】:

  • 谢谢!我也发现了这个。 create table remote_table as remote('IP:port','DB','table') 这个语句有效!
  • @StephenXia 该表示法适用于远程 clickhouse 服务器,而不适用于 JDBC。
猜你喜欢
  • 2021-04-03
  • 2020-11-09
  • 2017-07-18
  • 1970-01-01
  • 2019-09-09
  • 1970-01-01
  • 2020-04-24
  • 2017-12-11
  • 2021-10-13
相关资源
最近更新 更多