通过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/