|
@@ -0,0 +1,51 @@
|
|
|
+from clickhouse_driver.client import Client
|
|
|
+from model.common.log import logger
|
|
|
+log=logger()
|
|
|
+
|
|
|
+class CkUtils:
|
|
|
+
|
|
|
+ def __init__(self):
|
|
|
+ self.client = Client(host='cc-bp1h3yc7o3g3o7k64o.ads.aliyuncs.com',
|
|
|
+ user='qucheng_ck',
|
|
|
+ password='Qc123456',
|
|
|
+ port='3306',
|
|
|
+ send_receive_timeout=5)
|
|
|
+
|
|
|
+ def execute(self, sql):
|
|
|
+ self.client.execute(sql)
|
|
|
+
|
|
|
+
|
|
|
+ def insertMany(self,table,col,data):
|
|
|
+ """
|
|
|
+ :param table: 表名 srt
|
|
|
+ :param col: 字段名 srt eg: ”a,b,c“
|
|
|
+ :param data: tuple
|
|
|
+ :return:
|
|
|
+ """
|
|
|
+ max=200
|
|
|
+ sql="insert into {} ({}) values ".format(table,col)
|
|
|
+
|
|
|
+ if len(data) == 0:
|
|
|
+ log.debug("data.len==0")
|
|
|
+ return
|
|
|
+ if len(data) <= max:
|
|
|
+ sql = sql+str(data)[1:-1]
|
|
|
+ # log.info(sql)
|
|
|
+ # log.info("insert {} rows".format(len(data)))
|
|
|
+ self.execute(sql)
|
|
|
+ return
|
|
|
+ else:
|
|
|
+
|
|
|
+ sql2=sql+str(data[:max])[1:-1]
|
|
|
+ # log.info(sql2)
|
|
|
+ self.execute(sql2)
|
|
|
+ # log.info("insert {} rows".format(max))
|
|
|
+ self.insertMany(table,col,data[max:])
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+if __name__ == '__main__':
|
|
|
+ ck= CkUtils()
|
|
|
+ a =ck.execute("desc order")
|
|
|
+ print(a)
|
|
|
+
|