Python:使用for循环插入数据而没有超时错误
Posted
技术标签:
【中文标题】Python:使用for循环插入数据而没有超时错误【英文标题】:Python: Insert data with for loop without timeout error 【发布时间】:2021-06-02 07:56:36 【问题描述】:我需要按年份批量插入数据,但我得到了
%Server% ping 错误:超时。连接已关闭, 重新连接。
而且我不知道每个插入会长多长时间。
我想我应该使用异步?
import pandas as pd
from clickhouse_driver import Client
client = Client(host, user=user, password=password, database = 'default')
dr = pd.date_range(start='1979-01-01', end='2029-01-31') # date ranges
for i in range(0,len(dr)):
year = dr[i].year
query = f"insert into t2 select * from t1 where y = year"
client.execute(query)
【问题讨论】:
【参考方案1】:调send_receive_timeout
client = Client(host, user=user, password=password, database = 'default', send_receive_timeout = 1000)
https://github.com/mymarilyn/clickhouse-driver/issues/196
【讨论】:
以上是关于Python:使用for循环插入数据而没有超时错误的主要内容,如果未能解决你的问题,请参考以下文章
Python & Bigquery:使用 for 循环在表中逐行查询和插入数据