python - 使用请求通过http协议(protocol)将设置发送到clickhouse

标签 python python-requests clickhouse

通过clickhouse-client代码如下所示:

clickhouse-client --input_format_allow_errors_num=1
--input_format_allow_errors_ratio=0.1
--query="INSERT INTO db.table VALUES (..., ...., ...) FORMAT CSV"

我正在使用请求,我的代码如下所示:

query = 'INSERT INTO db.table VALUES (..., ...., ...) FORMAT CSV'
r = requests.post(host, data=query, auth=(CH_USER, CH_PASSWORD), verify=True)

如何传递设置,例如

--input_format_allow_errors_num=1
--input_format_allow_errors_ratio=0.1

使用python-requests

最佳答案

看起来您将这些设置作为查询参数和 POST 响应正文中的 SQL 查询传递,尽管您似乎也可以将其包含在查询参数中。

import requests

auth = ("username", "password")
query = 'INSERT INTO db.table VALUES (..., ..., ...) FORMAT CSV'
params = {
    "input_format_allow_errors_num": 1,
    "input_format_allow_errors_ratio": 0.1
}

response = requests.post(host, data=query, params=params, auth=auth)

试一试。我从: https://clickhouse.tech/docs/en/interfaces/http/ 得到这一切

关于python - 使用请求通过http协议(protocol)将设置发送到clickhouse,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67109432/

相关文章:

python - 使用 df.merge 填充 df 中的新列给出奇怪的匹配项

python - 修改其类的数据对象的函数

python - 从Docker容器300秒后,Python HTTP GET引发异常

Python 请求 set-cookie 未正确设置

python - 如何从 instagram 标签查找中获取下一页数据

python - zip(*[iter(s)]*n) 在 Python 中是如何工作的?

python - (Django 和 PIL)写入图像文件时编码器错误 -2

Clickhouse表TTL不删除旧记录

sql - 如何根据clickhouse中的日期和时间段选择数据

clickhouse - clickhouse中分区的实际用途是什么?