from clickhouse_driver import Client
def clickhouse16():
#clickhouse: id , 端口 , 用戶名,密碼
return Client(host='192.168.10.16', port='8123', user='root', password='123456')
def save_clickhouse(table, all_data):
sig = 0
list1 = []
for i in all_data:
sig += 1
list1.append(i)
if sig == 10000:
sig = 0
click_client.execute("""insert into mysql_test.{} values""".format(table), list1)
list1 = []
if len(list1) > 0:
click_client.execute("""insert into mysql_test.{} values""".format(table), list1)
click_client=clickhouse16()
1.插入數據
click_client.execute("""insert into mysql_test.table_name values""", list1)
2.大量數據插入
save_clickhouse(table, all_data)
3.刪除數據,這個刪除操作一定要小心,clickhouse刪除是按照區塊刪除的,若是刪除億級別數據,需要多次刪除,不要一下刪除,
數據百萬級別的隨意。
sql_del="""ALTER TABLE mysql_test.t_app_info_logo_temp delete where 1=1;"""
click_client.execute(sql_del)
4.選出數據並插入另一張表,now_time是個變量
sql="""
insert into mysql_test.r_app_rank(id,cate_id,now_time)
with addHours(now(),8) as now_time
select id,cate_id,now_time from mysql_test.s_app_apppkg
"""
click_client.execute(sql)