clickhouse清除表数据

时间:2025-03-19 18:09:42
#!/bin/bash table_name=表名称关键字 #统一的前缀设置 ipaddrs='ip,ip,ip,...' ck_home=/opt/software/clickhouse exec_sql(){ if [ -z "$1" ];then echo "[x] IP地址为空" exit else ipaddr=$1 fi ${ck_home}/bin/clickhouse-client --host=${ipaddr} --port=端口 --user=admin --password=密码 --database=ck库名称 -q "$2" } clean_ck_data(){ if [ -z "$1" ];then echo "[x] IP地址为空 clean" exit else ip_addr=$1 fi echo "@ exec clean for ${ip_addr}" clean_sql=`exec_sql "${ip_addr}" "SELECT database,table,partition,partition_id,name,path FROM where table like '${table_name}%' order by partition_id asc;"|awk '{printf "alter table xuanji_dwd.%s drop partition %s;\n",$2,$3}'` OLD_IFS=$IFS IFS=$'\n' for sql in ${clean_sql};do exec_sql "${ip_addr}" "$sql" done IFS=$OLD_IFS } for ip in ${ipaddrs};do clean_ck_data "$ip" done