clickhouse客戶端使用

2022-06-17 04:18:13 字數 3988 閱讀 1888

測試初始化

clickhouse-client -m

create database if

not exists test;

use test;

drop table test;

create table test(id uint8, text string, created datetime) engine=tinylog;

shell命令列執行

echo -ne "1, 'some text', '2016-08-14 00:00:00'\n2, 'some more text', '2016-08-14 00:00:01'" | clickhouse-client --database=test --query="insert into test format csv";

cat <<_eof | clickhouse-client --database=test --query="insert into test format csv";

3, 'some text', '2016-08-14 00:00:00'

4, 'some more text', '2016-08-14 00:00:01'

_eof

[root@ch2 /]# clickhouse-client --query="

select * from test.test

" > /tmp/test.tsv

[root@ch2 /]# cat /tmp/test.tsv

1 some text 2016-08-14

00:00:00

2 some more text 2016-08-14

00:00:01

3 some text 2016-08-14

00:00:00

4 some more text 2016-08-14

00:00:01

--multiquery 除了 insert

[root@ch2 /]# clickhouse-client --multiquery --query="

select * from test.test limit 1;select * from test.test limit 1;

"1 some text 2016-08-14

00:00:00

1 some text 2016-08-14

00:00:00

批模式下的預設資料格式為tab空格分隔,可使用format指定格式

使用--multiline或-m引數,允許執行多行的查詢

退出客戶端的方式,按ctrl + d 或 ctrl + c 或 q; quit;  exit; 

指定引數,格式為:

name:佔位識別符號。通過clickhouse-client引數指定,格式為--param_= value 。

data type:指定引數值的資料型別,例如:uint8、string等。

clickhouse-client --param_myid=1 --database=test --query="select * from test where id>"

clickhouse-client --param_parname="[1, 2]" -q "select * from table where a = "

clickhouse-client --query="select * from test.test format tabseparated" > file.tsv

指定資料庫

clickhouse-client --database=test --query="select * from test where id>1"

配置檔案

clickhouse-client查詢配置檔案的順序:

1)通過--config-file指定的配置檔案。

2)./clickhouse-client.xml

3)~/.clickhouse-client/config.xml

4)/etc/clickhouse-client/config.xml

# ll /etc/clickhouse-client/total 

4drwxr-xr-x 2 root root 6 jul 31

09:46

conf.d

-rw-r--r-- 1 root root 1568 may 18

12:26 config.xml

修改預設配置埠

不指定埠時,預設有以下埠

# netstat -tunlp|grep clickhouse

tcp 00

127.0.0.1:9000

0.0.0.0:* listen 340/clickhouse-serv

tcp 00

127.0.0.1:9004

0.0.0.0:* listen 340/clickhouse-serv

tcp 00

127.0.0.1:9009

0.0.0.0:* listen 340/clickhouse-serv

tcp 00

127.0.0.1:8123

0.0.0.0:* listen 340/clickhouse-serv

vim /etc/clickhouse-server/config.xml

9300

重啟clickhouse

systemctl restart clickhouse-server.service

再次連線需要指定--port

[root@ch2 /]# clickhouse-client --port 9300

clickhouse client version

20.3.9.70

(official build).

connecting to localhost:

9300

as user default

.connected to clickhouse server version

20.3.9 revision 54433

.ch2 :) q;

bye.

[root@ch2 /]#

設定預設的客戶端連線埠

vim /etc/clickhouse-client/config.xml

9300

這樣就可以像以前一樣,不用每次都輸入埠;注釋中給了五個可設定的薦,host/port/user/database... 都可以設定預設值,不需要每次都輸入

[root@ch2 /]# clickhouse-client 

clickhouse client version

20.3.9.70

(official build).

connecting to localhost:

9300

as user default

.connected to clickhouse server version

20.3.9 revision 54433

.ch2 :)

ch2 :)

ch2 :) q;

bye.

使用tcp select實現客戶端與客戶端的通訊

使用多路復用實現客戶端與客戶端進行通訊 原理 客戶端只要一連上伺服器,立馬給伺服器傳送使用者名稱,然後在服務端將newsocketfd 存放在同乙個結構體中,客戶端先給伺服器傳送資料,然後通過伺服器 給客戶端。伺服器先會查詢對應名字的 newsocketfd 然後向該 newsocketfd 中寫入...

瘦客戶端 胖客戶端 智慧型客戶端

胖客戶端模式將應用程式處理分成了兩部分 由使用者的桌面計算機執行的處理和最適合乙個集中的伺服器執行的處理。乙個典型的胖客戶端包含乙個或多個在使用者的pc上執行的應用程式,使用者可以檢視並運算元據 處理一些或所有的業務規則 同時提供乙個豐富的使用者介面做出響應。伺服器負責管理對資料的訪問並負責執行一些...

msysgit(git 客戶端使用)

3 在學習git基本命令 本地操作 發布github 遠端倉庫等 4 遇到的問題 ssh t github github.com 提示connection refused port 22 的錯誤 解決方法 在 ssh目錄下增加配置檔案 config 內容 host user abc123 hostn...