ClickHouse/tests/integration/test_cluster_copier/task_many_to_one.xml
2020-12-23 04:26:23 +03:00

129 lines
4.9 KiB
XML

<yandex>
<!-- Configuration of clusters as in an ordinary server config -->
<remote_servers>
<anime_source>
<shard>
<internal_replication>true</internal_replication>
<replica>
<host>s0_0_0</host>
<port>9000</port>
</replica>
<replica>
<host>s0_0_1</host>
<port>9000</port>
</replica>
</shard>
<shard>
<internal_replication>true</internal_replication>
<replica>
<host>s0_1_0</host>
<port>9000</port>
</replica>
<replica>
<host>s0_1_1</host>
<port>9000</port>
</replica>
</shard>
<shard>
<internal_replication>true</internal_replication>
<replica>
<host>s0_2_0</host>
<port>9000</port>
</replica>
<replica>
<host>s0_2_1</host>
<port>9000</port>
</replica>
</shard>
<shard>
<internal_replication>true</internal_replication>
<replica>
<host>s0_3_0</host>
<port>9000</port>
</replica>
<replica>
<host>s0_3_1</host>
<port>9000</port>
</replica>
</shard>
<shard>
<internal_replication>true</internal_replication>
<replica>
<host>s0_4_0</host>
<port>9000</port>
</replica>
<replica>
<host>s0_4_1</host>
<port>9000</port>
</replica>
</shard>
</anime_source>
<anime_destination>
<shard>
<replica>
<host>s1_0_0</host>
<port>9000</port>
</replica>
</shard>
</anime_destination>
</remote_servers>
<!-- How many simultaneously active workers are possible. If you run more workers superfluous workers will sleep. -->
<max_workers>3</max_workers>
<!-- Setting used to fetch (pull) data from source cluster tables -->
<settings_pull>
<readonly>1</readonly>
</settings_pull>
<!-- Setting used to insert (push) data to destination cluster tables -->
<settings_push>
<readonly>0</readonly>
</settings_push>
<!-- Common setting for fetch (pull) and insert (push) operations. Also, copier process context uses it.
They are overlaid by <settings_pull/> and <settings_push/> respectively. -->
<settings>
<connect_timeout>3</connect_timeout>
<!-- Sync insert is set forcibly, leave it here just in case. -->
<insert_distributed_sync>1</insert_distributed_sync>
</settings>
<!-- Copying tasks description.
You could specify several table task in the same task description (in the same ZooKeeper node), they will be performed
sequentially.
-->
<tables>
<!-- A table task, copies one table. -->
<table_first>
<!-- Source cluster name (from <remote_servers/> section) and tables in it that should be copied -->
<cluster_pull>anime_source</cluster_pull>
<database_pull>default</database_pull>
<table_pull>anime_all</table_pull>
<!-- Destination cluster name and tables in which the data should be inserted -->
<cluster_push>anime_destination</cluster_push>
<database_push>default</database_push>
<table_push>anime</table_push>
<!-- Engine of destination tables.
If destination tables have not be created, workers create them using columns definition from source tables and engine
definition from here.
NOTE: If the first worker starts insert data and detects that destination partition is not empty then the partition will
be dropped and refilled, take it into account if you already have some data in destination tables. You could directly
specify partitions that should be copied in <enabled_partitions/>, they should be in quoted format like partition column of
system.parts table.
-->
<engine>
ENGINE = MergeTree()
ORDER BY (first_id, second_id, toSecond(datetime))
PARTITION BY toSecond(datetime)
</engine>
<!-- Sharding key used to insert data to destination cluster -->
<sharding_key>cityHash64(first_id, second_id)</sharding_key>
</table_first>
</tables>
</yandex>