微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用请求通过 http 协议将设置发送到 clickhouse

如何解决使用请求通过 http 协议将设置发送到 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"

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

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

解决方法

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

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/

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。