python 連接clickhouse 操作


 

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)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM