1.通过分布式表解析数据库名字、local表名、对应集群名称
SELECT engine_full FROM system.tables WHERE database = ? AND name = ?
String cluster = matcher.group("cluster");
String database = matcher.group("database");
String table = matcher.group("table");
2.获取集群所有IP地址
SELECT shard_num, host_address, port FROM system.clusters WHERE cluster = ? and replica_num = 1 ORDER BY shard_num ASC
String host = rs.getString("host_address");
int port = getActualHttpPort(host, rs.getInt("port"));
urls.add("clickhouse://" + host + ":" + port);
3.通过for去轮询所有得到的IP地址插入到对应的local表