跳转到主要内容

ClickHouse Handler

image

概览

Databend 兼容 ClickHouse 线路协议,允许您从 Clickhouse 客户端连接到 Databend 服务器,方便用户和开发人员使用。

ClickHouse REST API

tip

Databend ClickHouse HTTP Handler 是一个简化版的实现,它只提供:

  • 健康检查
  • 以 JSONEachRow 格式插入

健康检查

query=SELECT 1
curl '127.0.0.1:8124/?query=select%201'
Response
1

以 JSONEachRow(ndjson) 格式插入

备注

Databend ClickHouse HTTP Handler 仅支持 ndjson(ClickHouse 中的 JSONEachRow)格式的值。

ndjson 是一种以换行符分隔的 JSON 格式:

  • 行分隔符为'\n'
  • 每行都是一个有效的 JSON 值

例如,我们有一个表格:

table t1
CREATE TABLE t1(a TINYINT UNSIGNED);

Insert into t1:

insert into t1 format JSONEachRow
echo -e '{"a": 1}\n{"a": 2}' | curl '127.0.0.1:8124/?query=INSERT%20INTO%20t1%20FORMAT%20JSONEachRow' --data-binary @-

身份验证

使用 HTTP 基本身份验证:

echo -e '{"a": 1}\n{"a": 2}' | curl 'user:password@127.0.0.1:8124/?query=INSERT%20INTO%20t1%20FORMAT%20JSONEachRow' --data-binary @-

压缩

Databend ClickHouse HTTP Handler 支持以下压缩方法:

  • BR
  • DEFLATE
  • GZIP