0


大数据(5r)ClickHouse客户端

文章目录

1、命令行客户端

clickhouse-client

常用参数说明默认值备注

--host, -h

服务端的主机名

localhost
--port

端口

9000

HTTP接口和TCP原生接口用的端口不同

--user, -u

用户名

default
--password

密码空字符串

--query, -q

非交互模式查询

--database, -d

数据库服务端默认配置默认配置值为

default
--multiline, -m

允许多行语句查询Enter仅代表换行,不代表查询语句完结

--multiquery, -n

允许用

;

分隔多个查询只在非交互模式下生效

--time, -t

非交互模式下,查询的执行时间被输出到

stderr
--stacktrace

如果出现异常,就打印堆栈跟踪信息

--config-file

配置文件的名称

--secure

使用安全方式连接到服务器

--history_file

存放命令历史的文件的路径

--param_<name>

查询参数配置查询参数
常用下面2组参数,1是

-m

在ClickHouse服务所在的机器,进入命令行交互模式

clickhouse-client -m --password '密码'

2是

-q

执行任务,配合

-n

允许多个SQL(用

;

分隔)

clickhouse-client -n -h '主机' --port 9000 -u '用户' --password '密码' -d '库' -q "SHOW TABLES;"

个人建议,少用

-n

1.1、ClickHouse服务的版本号查询

SELECT version();

1.2、clickhouse-client下载方法

对于CentOS7,可去官网或国内镜像站下载

clickhouse-client

clickhouse-common-static

rpm

,然后安装

2、Python连ClickHouse

安装客户端

conda create -n ck_env python=3.9.12
conda activate ck_env
pip installclickhouse_driver==0.2.4

安装成功的屏幕显示

Installing collected packages: pytz, tzdata, pytz-deprecation-shim, tzlocal, clickhouse_driver
Successfully installed clickhouse_driver-0.2.4 pytz-2022.5 pytz-deprecation-shim-0.1.0.post0 tzdata-2022.5 tzlocal-4.2

连接代码

from clickhouse_driver import Client

c = Client(host='主机', port=9000, user='用户', password='密码', database='库')
result_list = c.execute('SELECT * FROM 表')print(result_list)# list of tuple [('a2',9,datetime.date(2022,3,8)),('b3',3,datetime.date(2021,5,4))]

3、Java连接ClickHouse

<dependency><groupId>ru.yandex.clickhouse</groupId><artifactId>clickhouse-jdbc</artifactId><version>0.3.2</version></dependency>
importru.yandex.clickhouse.ClickHouseConnection;importru.yandex.clickhouse.ClickHouseDataSource;importru.yandex.clickhouse.settings.ClickHouseProperties;importjava.sql.ResultSet;importjava.sql.ResultSetMetaData;importjava.sql.SQLException;importjava.sql.Statement;publicclassMain{publicstaticvoidmain(String[] args){// 连接配置ClickHouseProperties p =newClickHouseProperties();
        p.setUser("用户");
        p.setPassword("密码");
        p.setDatabase("库");
        p.setSocketTimeout(30000);String url ="jdbc:clickhouse://主机地址:8123";ClickHouseDataSource ds =newClickHouseDataSource(url, p);try{// 创建连接ClickHouseConnection conn = ds.getConnection();try{Statement statement = conn.createStatement();// 查询ResultSet result = statement.executeQuery("SELECT * FROM 表");while(result.next()){ResultSetMetaData metaData = result.getMetaData();// 获取列,索引从1开始for(int i =1; i <= metaData.getColumnCount(); i++){String columnName = metaData.getColumnName(i);Object data = result.getObject(columnName);System.out.println(columnName +"=>"+ data.toString());}System.out.println();}}catch(SQLException e){
                e.printStackTrace();}}catch(SQLException e){thrownewRuntimeException(e);}}}

4、DBeaver连接ClickHouse

jdbc:clickhouse://主机:8123/库?socket_timeout=600000


本文转载自: https://blog.csdn.net/Yellow_python/article/details/126965675
版权归原作者 小基基o_O 所有, 如有侵权,请联系我们删除。

“大数据(5r)ClickHouse客户端”的评论:

还没有评论