1.首先找一台服务器能连接数据的服务
2.在服务器中创建sh脚本,脚本代码如图所示
select30.sh shell 脚本
bash
#!/bin/bash
original_sql=$1
partitions=("p0" "p1" "p2" "p3" "p4" "p5" "p6" "p7" "p8" "p9" "p10" "p11" "p12" "p13" "p14" "p15" "p16" "p17" "p18" "p19" "p20" "p21" "p22" "p23" "p24" "p25" "p26" "p27" "p28" "p29")
for partition in "${partitions[@]}";do
echo "正在查询分区 $partition."
#替换sql中的分区名称 $partition
partition_sql=$(echo "$original_sql" | sed 's/PARTITION([[:space:]]*\([^)]*\))/PARTITION ($partition)/gi')
#echo "替换后的SQL: $partition_sql"
obclient -h 10.10.10.10 -P 2222 -u ytr@ytr_ytr#XI_XI_XI -p mima -e "$partition_sql"
echo "-----------------"
done
#10.10.10.10为数据的地址 2222为数据库的端口 ytr为数据库用户名 ytr_ytr为租户名 XI_XI_XI为集群名,mima为密码
在服务器中执行
sh select30.sh "SELECT 账号, 户名
FROM 表名 partition(p0) a
WHERE
AND type = 'C'" >对私账户户名.txt