Python连接Clickhouse遇坑篇,耗时一天成功连接!
创始人
2024-02-27 15:52:55
0

首先!!!!!!!!!不要看网上那些乱七八糟的使用clickhouse-driver连接了,真tm难用,端口能搞死你那种,超级烦!

 

推荐直接看官方文档:Python Integration with ClickHouse Connect | ClickHouse Docs

python版本要求:大于3.7的才可以

 

使用 ClickHouse Connect这个库:

pip install clickhouse-connect

使用 ClickHouse Connect 客户端实例连接到 ClickHouse Cloud 服务:

import clickhouse_connectclient = clickhouse_connect.get_client(host='服务器ip', port=clickhouse端口, username='用户名', password='密码')

要运行 ClickHouse SQL 命令,请使用客户端command方法:

client.command('CREATE TABLE new_table (key UInt32, value String, metric Float64) ENGINE MergeTree ORDER BY key')

要插入批处理数据,请使用insert带有二维行和值数组的客户端方法:

row1 = [1000, 'String Value 1000', 5.233]
row2 = [2000, 'String Value 2000', -107.04]
data = [row1, row2]
client.insert('new_table', data, column_names=['key', 'value', 'metric']) 

要使用 ClickHouse SQL 检索数据,请使用客户端query方法:

result = client.query('SELECT max(key), avg(metric) FROM new_table')
result.result_set
Out[13]: [(2000, -50.9035)]

如果说你想用clickhouse-driver:

也可以,但是你需要知道服务器上的端口号是多少,不能直接使用数据库连接工具里面的端口号:

比如我们的,就只能用32654这个端口,不能用9000,

代码:

from clickhouse_driver import Clientclient = Client(host='服务器地址', port=端口, database='用户名', password='密码')
sql = 'select * from p_637.d_638 order by id limit 20, 10;'
res = client.execute(sql)
print(res)

 

相关内容

热门资讯

威海市汽车以旧换新补贴政策调整... 根据稳妥有序开展消费品以旧换新工作统一部署,经研究决定,对我市汽车以旧换新补贴政策进行调整。现将有关...
动物学家、律师、创作者都pic... 12月21日,在2025 ThinkPad黑FUN礼现场,三名专业领域用户用真实案例诠释了Think...
从拒赔到和解:涉外货运保险理赔... 近日,国家金融监管总局、最高人民法院遴选出6个具有典型性、示范性的金融领域纠纷多元化解案例,12月1...
湖北大冶一男子当街拦车砸玻璃,... 大象新闻2025-12-21 16:21:41 12月20日,湖北大冶市网民发视频称,一名男子在新冶...
韩媒曝尹锡悦夫妇下周将被同时起... 据韩联社21日报道,负责调查韩国前总统尹锡悦夫人金建希弊案的独立检察组(独检组)将于下周同时对尹锡悦...
大冶一男子拦停轿车打砸!大冶公... 原标题:大冶公安查处一起妨碍交通工具正常行驶案件 2025年12月20日15时许,我辖区居民刘某(男...
化解纠纷12215件 银行点赞... 中国民生银行信用卡中心昆明分中心向昆明市官渡区人民法院立案庭立案窗口、矛盾纠纷化解中心以及保全团队赠...
政治思想工作条例解读,政治思想... 政治思想工作条例解读,政治思想工作条例最新版全文 政治思想工作条例最新版全文解读:照亮前行之路的“灯...
谷歌起诉爬虫公司SerpApi 谷歌起诉爬虫工具开发商SerpApi,指控其通过非法手段规避反爬虫机制,窃取大量受版权保护的内容并出...
240小时过境免签一年 330... 中新网昆明12月21日电 (杨畅)2024年12月17日起,中国将原有的72小时/144小时过境免签...