Clickhouse
Last updated
Last updated
Clickhouse sink connector
The Clickhouse sink plug-in can achieve accuracy once by implementing idempotent writing, and needs to cooperate with aggregatingmergetree and other engines that support deduplication.
Used to write data to Clickhouse.
STRING
String / Int128 / UInt128 / Int256 / UInt256 / Point / Ring / Polygon MultiPolygon
INT
Int8 / UInt8 / Int16 / UInt16 / Int32
BIGINT
UInt64 / Int64 / IntervalYear / IntervalQuarter / IntervalMonth / IntervalWeek / IntervalDay / IntervalHour / IntervalMinute / IntervalSecond
DOUBLE
Float64
DECIMAL
Decimal
FLOAT
Float32
DATE
Date
TIME
DateTime
ARRAY
Array
MAP
Map
host
String
Yes
-
ClickHouse
cluster address, the format is host:port
, allowing multiple hosts
to be specified. Such as "host1:8123,host2:8123"
.
database
String
Yes
-
The ClickHouse
database.
table
String
Yes
-
The table name.
username
String
Yes
-
ClickHouse
user username.
password
String
Yes
-
ClickHouse
user password.
clickhouse.config
Map
No
bulk_size
String
No
20000
split_mode
String
No
false
This mode only support clickhouse table which engine is 'Distributed'.And internal_replication
option-should be true
.They will split distributed table data in Nexus and perform write directly on each shard. The shard weight define is clickhouse will counted.
sharding_key
String
No
-
When use split_mode, which node to send data to is a problem, the default is random selection, but the 'sharding_key' parameter can be used to specify the field for the sharding algorithm. This option only worked when 'split_mode' is true.
primary_key
String
No
-
Mark the primary key column from clickhouse table, and based on primary key execute INSERT/UPDATE/DELETE to clickhouse table.
support_upsert
Boolean
No
false
Support upsert row by query primary key.
allow_experimental_lightweight_delete
Boolean
No
false
Allow experimental lightweight delete based on *MergeTree
table engine.
common-options
No
-
The following example demonstrates how to create a data synchronization job that writes randomly generated data to a Clickhouse database:
1.The table to be written to needs to be created in advance before synchronization. 2.When sink is writing to the ClickHouse table, you don't need to set its schema because the connector will query ClickHouse for the current table's schema information before writing.
In addition to the above mandatory parameters that must be specified by clickhouse-jdbc
, users can also specify multiple optional parameters, which cover all the provided by clickhouse-jdbc
.
The number of rows written through each time, the default is 20000
.
Sink plugin common parameters, please refer to for details.