This is an automated email from the ASF dual-hosted git repository.
wanghailin pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/seatunnel.git
The following commit(s) were added to refs/heads/dev by this push:
new 1ded1b6206 [Improve][ClickhouseFile] Clickhouse supports option
configuration when connecting to shard nodes (#8297)
1ded1b6206 is described below
commit 1ded1b6206f25dc18538401c01c0fd004c9d3fb3
Author: Cancai Cai <[email protected]>
AuthorDate: Mon Dec 16 10:13:23 2024 +0800
[Improve][ClickhouseFile] Clickhouse supports option configuration when
connecting to shard nodes (#8297)
---
.../seatunnel/connectors/seatunnel/clickhouse/shard/Shard.java | 5 ++++-
.../connectors/seatunnel/clickhouse/sink/client/ShardRouter.java | 3 ++-
.../connectors/seatunnel/clickhouse/util/ClickhouseProxy.java | 6 ++++--
3 files changed, 10 insertions(+), 4 deletions(-)
diff --git
a/seatunnel-connectors-v2/connector-clickhouse/src/main/java/org/apache/seatunnel/connectors/seatunnel/clickhouse/shard/Shard.java
b/seatunnel-connectors-v2/connector-clickhouse/src/main/java/org/apache/seatunnel/connectors/seatunnel/clickhouse/shard/Shard.java
index f2d961a49a..235658788f 100644
---
a/seatunnel-connectors-v2/connector-clickhouse/src/main/java/org/apache/seatunnel/connectors/seatunnel/clickhouse/shard/Shard.java
+++
b/seatunnel-connectors-v2/connector-clickhouse/src/main/java/org/apache/seatunnel/connectors/seatunnel/clickhouse/shard/Shard.java
@@ -22,6 +22,7 @@ import com.clickhouse.client.ClickHouseNode;
import com.clickhouse.client.ClickHouseProtocol;
import java.io.Serializable;
+import java.util.Map;
import java.util.Objects;
public class Shard implements Serializable {
@@ -44,7 +45,8 @@ public class Shard implements Serializable {
int port,
String database,
String username,
- String password) {
+ String password,
+ Map<String, String> options) {
this.shardNum = shardNum;
this.replicaNum = replicaNum;
this.node =
@@ -54,6 +56,7 @@ public class Shard implements Serializable {
.database(database)
.weight(shardWeight)
.credentials(ClickHouseCredentials.fromUserAndPassword(username, password))
+ .options(options)
.build();
}
diff --git
a/seatunnel-connectors-v2/connector-clickhouse/src/main/java/org/apache/seatunnel/connectors/seatunnel/clickhouse/sink/client/ShardRouter.java
b/seatunnel-connectors-v2/connector-clickhouse/src/main/java/org/apache/seatunnel/connectors/seatunnel/clickhouse/sink/client/ShardRouter.java
index 03f6efec31..af115d300e 100644
---
a/seatunnel-connectors-v2/connector-clickhouse/src/main/java/org/apache/seatunnel/connectors/seatunnel/clickhouse/sink/client/ShardRouter.java
+++
b/seatunnel-connectors-v2/connector-clickhouse/src/main/java/org/apache/seatunnel/connectors/seatunnel/clickhouse/sink/client/ShardRouter.java
@@ -83,7 +83,8 @@ public class ShardRouter implements Serializable {
localTable.getDatabase(),
shardMetadata.getDefaultShard().getNode().getPort(),
shardMetadata.getUsername(),
- shardMetadata.getPassword());
+ shardMetadata.getPassword(),
+
shardMetadata.getDefaultShard().getNode().getOptions());
int weight = 0;
for (Shard shard : shardList) {
shards.put(weight, shard);
diff --git
a/seatunnel-connectors-v2/connector-clickhouse/src/main/java/org/apache/seatunnel/connectors/seatunnel/clickhouse/util/ClickhouseProxy.java
b/seatunnel-connectors-v2/connector-clickhouse/src/main/java/org/apache/seatunnel/connectors/seatunnel/clickhouse/util/ClickhouseProxy.java
index be48f728b1..a75c73f716 100644
---
a/seatunnel-connectors-v2/connector-clickhouse/src/main/java/org/apache/seatunnel/connectors/seatunnel/clickhouse/util/ClickhouseProxy.java
+++
b/seatunnel-connectors-v2/connector-clickhouse/src/main/java/org/apache/seatunnel/connectors/seatunnel/clickhouse/util/ClickhouseProxy.java
@@ -192,7 +192,8 @@ public class ClickhouseProxy {
String database,
int port,
String username,
- String password) {
+ String password,
+ Map<String, String> options) {
String sql =
"select
shard_num,shard_weight,replica_num,host_name,host_address,port from
system.clusters where cluster = '"
+ clusterName
@@ -213,7 +214,8 @@ public class ClickhouseProxy {
port,
database,
username,
- password));
+ password,
+ options));
});
return shardList;
} catch (ClickHouseException e) {