代码优化,抽取公共方法,优化clickhousesink写入

This commit is contained in:
zhanghongqing
2022-08-19 17:34:37 +08:00
parent ba64fe8187
commit b30f82f588
20 changed files with 365 additions and 1047 deletions

View File

@@ -0,0 +1,54 @@
package com.zdjizhi.utils.ck;
import cn.hutool.core.io.IoUtil;
import cn.hutool.log.Log;
import cn.hutool.log.LogFactory;
import ru.yandex.clickhouse.BalancedClickhouseDataSource;
import ru.yandex.clickhouse.settings.ClickHouseProperties;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.concurrent.TimeUnit;
import static com.zdjizhi.common.FlowWriteConfig.*;
public class CKUtils {
private static final Log log = LogFactory.get();
private static Connection connection;
public static Connection getConnection() {
try {
ClickHouseProperties props = new ClickHouseProperties();
props.setDatabase(CK_DATABASE);
props.setUser(CK_USERNAME);
props.setPassword(CK_PIN);
props.setConnectionTimeout(CK_CONNECTION_TIMEOUT);
props.setSocketTimeout(CK_SOCKET_TIMEOUT);
props.setMaxThreads(50);
BalancedClickhouseDataSource blDataSource = new BalancedClickhouseDataSource("jdbc:clickhouse://" + CK_HOSTS, props);
blDataSource.actualize();
blDataSource.scheduleActualization(10, TimeUnit.SECONDS);//开启检测
// HikariConfig conf = new HikariConfig();
// conf.setDataSource(blDataSource);
// conf.setMinimumIdle(1);
// conf.setMaximumPoolSize(20);
//
// HikariDataSource hkDs = new HikariDataSource(conf);
connection = blDataSource.getConnection();
log.debug("get clickhouse connection success");
} catch (SQLException e) {
log.error("clickhouse connection error ,{}", e);
}
return connection;
}
public static void close(Connection connection) throws Exception {
IoUtil.close(connection);
}
}