数据库创建:
延时引擎:
1 CREATE DATABASE testlazy ENGINE = Lazy(expiration_time_in_seconds);
mysql引擎:
1 CREATE DATABASE [IF NOT EXISTS] db_name [ON CLUSTER cluster] ENGINE =
2 MySQL('host:port', ['database' | database], 'user', 'password')
VersionedCollapsingMergeTree引擎:
1 CREATE TABLE [IF NOT EXISTS] [db.]table_name [ON CLUSTER cluster]
2 ( name1 [type1] [DEFAULT|MATERIALIZED|ALIAS expr1],
3 name2 [type2] [DEFAULT|MATERIALIZED|ALIAS expr2], ... )
4 ENGINE = VersionedCollapsingMergeTree(sign, version)
5 [PARTITION BY expr]
6 [ORDER BY expr]
7 [SAMPLE BY expr]
8 [SETTINGS name=value, ...]
强制折叠:
如果我们不需要聚合,并希望强制折叠,我们可以使用 FINAL 修饰符
1 SELECT * FROM UAct FINAL
GraphiteMergeTree引擎:
继承自MergeTree
1 CREATE TABLE [IF NOT EXISTS] [db.]table_name [ON CLUSTER cluster]
2 ( Path String, Time DateTime, Value , Version ... )
3 ENGINE = GraphiteMergeTree(config_section)
4 [PARTITION BY expr]
5 [ORDER BY expr]
6 [SAMPLE BY expr]
7 [SETTINGS name=value, ...]
含有Graphite数据集的表应该包含以下的数据列: - 指标名称(Graphite
sensor),数据类型:String - 指标的时间度量,数据类 型: DateTime - 指标的值,数据类型:任意数值类型 - 指标的版本号,数据类型: 任意数值类型
AggregatingMergeTree引擎:
继承自MergeTree,写入数据时自带聚合
1 CREATE TABLE [IF NOT EXISTS] [db.]table_name [ON CLUSTER cluster]
2 ( name1 [type1] [DEFAULT|MATERIALIZED|ALIAS expr1],
3 name2 [type2] [DEFAULT|MATERIALIZED|ALIAS expr2], ... )
4 ENGINE = AggregatingMergeTree()
5 [PARTITION BY expr]
6 [ORDER BY expr]
7 [SAMPLE BY expr]
8 [SETTINGS name=value, ...]
MergeTree引擎:
1 CREATE TABLE [IF NOT EXISTS] [db.]table_name [ON CLUSTER cluster]
2 ( name1 [type1] [DEFAULT|MATERIALIZED|ALIAS expr1],
3 name2 [type2] [DEFAULT|MATERIALIZED|ALIAS expr2], ...
4 INDEX index_name1 expr1 TYPE type1(...) GRANULARITY value1,
5 INDEX index_name2 expr2 TYPE type2(...) GRANULARITY value2 )
6 ENGINE = MergeTree() [PARTITION BY expr]
7 [ORDER BY expr]
8 [PRIMARY KEY expr]
9 [SAMPLE BY expr]
10 [SETTINGS name=value, ...]
要检查 ClickHouse 执行一个查询时能否使用索引,可设置 force_index_by_date 和force_primary_key
SummingMergeTree引擎:
查询时应使用聚合函数,如sum()、groupby等;
1 CREATE TABLE [IF NOT EXISTS] [db.]table_name [ON CLUSTER cluster]
2 ( name1 [type1] [DEFAULT|MATERIALIZED|ALIAS expr1],
3 name2 [type2] [DEFAULT|MATERIALIZED|ALIAS expr2], ... )
4 ENGINE = SummingMergeTree([columns])
5 [PARTITION BY expr]
6 [ORDER BY expr]
7 [SAMPLE BY expr]
8 [SETTINGS name=value, ...]
只有 MergeTree 系列里的表可支持副本,该副本不同于分片的副本,是表级别的;
自定义分区键:MergeTree 系列的表(包括 可复制表 )可以使用分区。基于MergeTree 表的 物化视图 也支持分区
1 PARTITION BY toYYYYMM(VisitDate)
2 PARTITION BY (toMonday(StartDate), EventType)
查询分区信息:from system.parts
1 SELECT
2 partition,
3 name,
4 active
5 FROM system.parts
6 WHERE
7 table = 'visits'
强制片段合并
1 OPTIMIZE TABLE visits PARTITION 201902 ;
物理存储查看片段
1 /var/lib/clickhouse/data/<database>/<table>/
StripeLog,日志引擎:
1 CREATE TABLE [IF NOT EXISTS] [db.]table_name [ON CLUSTER cluster]
2 ( column1_name [type1] [DEFAULT|MATERIALIZED|ALIAS expr1],
3 column2_name [type2] [DEFAULT|MATERIALIZED|ALIAS expr2], ... )
4 ENGINE = StripeLog
TinyLog 引擎:
TinyLog 表用于小批量处理的中间数据。
Log引擎:
JDBC引擎:
1 CREATE TABLE [IF NOT EXISTS] [db.]table_name
2 ( columns list... )
3 ENGINE = JDBC(dbms_uri, external_database, external_table)
引擎参数:
1 dbms_uri — 外部DBMS的uri. 格式: jdbc:://:/?user=&password=.
2 MySQL示例: jdbc:mysql://localhost: 3306 /?user=root&password=root.
3 external_database — 外部DBMS的数据库名.
4 external_table — external_database中的外部表名.
ODBC引擎:
1 CREATE TABLE [IF NOT EXISTS] [db.]table_name [ON CLUSTER cluster]
2 ( name1 [type1], name2 [type2], ... )
3 ENGINE = ODBC(connection_settings, external_database, external_table)
引擎参数:
1 connection_settings — Name of the section with connection settings in the
odbc.ini 文件
2 external_database — Name of a database in an external DBMS.
3 external_table — Name of a table in the external_database.
HDFS引擎:
1 CREATE TABLE hdfs_engine_table (name String, value UInt32) ENGINE =
HDFS(URI, format)
引擎参数:
1 该 URI 参数是HDFS中的整个文件URI。
2 该 format 参数指定一种可用的文件格式。 执行
kafka引擎:
老版格式:
1 Kafka(kafka_broker_list, kafka_topic_list, kafka_group_name, kafka_format
[, kafka_row_delimiter, kafka_schema, kafka_num_consumers])
新版格式:
1 Kafka SETTINGS
2 kafka_broker_list = 'localhost:9092',
3 kafka_topic_list = 'topic1,topic2',
4 kafka_group_name = 'group1',
5 kafka_format = 'JSONEachRow',
6 kafka_row_delimiter = '\n',
7 kafka_schema = '',
8 kafka_num_consumers =
参数说明:
1 必要参数:
2 kafka_broker_list – 以逗号分隔的 brokers 列表 (localhost: 9092 )。
3 kafka_topic_list – topic 列表 (my_topic)。
4 kafka_group_name – Kafka 消费组名称 (group1)。如果不希望消息在集群中重复,请
在每个分片中使用相同的组名。
5 kafka_format – 消息体格式。使用与 SQL 部分的 FORMAT 函数相同表示方法,例如 JS
ONEachRow。了解详细信息,请 参考 Formats 部分。
6 可选参数:
7 kafka_row_delimiter ‐ 每个消息体(记录)之间的分隔符。
8 kafka_schema – 如果解析格式需要一个 schema 时,此参数必填。例如,普罗托船长
需要 schema 文件路径以及根 对象 schema.capnp:Message 的名字。
9 kafka_num_consumers – 单个表的消费者数量。默认值是: 1 ,如果一个消费者的吞吐量
不足,则指定更多的消费者。 消费者的总数不应该超过 topic 中分区的数量,因为每个分区
只能分配一个消费者。
join引擎:
1 CREATE TABLE [IF NOT EXISTS] [db.]table_name [ON CLUSTER cluster]
2 ( name1 [type1] [DEFAULT|MATERIALIZED|ALIAS expr1] [TTL expr1],
3 name2 [type2] [DEFAULT|MATERIALIZED|ALIAS expr2] [TTL expr2], )
4 ENGINE = Join(join_strictness, join_type, k1[, k2, ...])
引擎参数:
1 join_strictness – JOIN 限制. ALL、ANY、ASOF
2 join_type – JOIN 类型. INNER、LEFT、RIGHT、CROSS
3 k1[, k2, ...] – 进行JOIN 操作时 USING语句用到的key列
GenerateRandom引擎:
随机数生成引擎,生成数据时,通过max_array_length 设置array列的最大长度, max_string_length设置string数据的
最大长度 该引擎仅支持 SELECT 查询语句.
1 ENGINE = GenerateRandom(random_seed, max_string_length, max_array_length)
MaterializedView 视图:
Null:
当写入 Null 类型的表时,将忽略数据。从 Null 类型的表中读取时,返回空。 但是,可以在 Null 类型的表上创建物化视图。写入表的数据将转发到视图中。
URL(URL,格式):
用于管理远程 HTTP/HTTPS 服务器上的数据。该引擎类 似 文件 引擎。
Memory 引擎:
内存表,存储于内存中,不支持索引,重启数据丢失,不建议使用。
Merge引擎:
Merge 引擎 (不要跟 MergeTree 引擎混淆) 本身不存储数据,但可用于同时从任意多个其他的表中读取数据。
1 Merge(hits, '^WatchLog')
字典引擎:
1 CREATE TABLE %table_name% (%fields%) engine =
Dictionary(%dictionary_name%)`
2 create table products (product_id UInt64, title String) Engine = Dictiona
ry(products);
buffer引擎:
1 Buffer(database, table, num_layers, min_time, max_time, min_rows, max_row
s, min_bytes, max_bytes)
引擎参数:
1 引擎的参数:database,table ‐ 要刷新数据的表。可以使用返回字符串的常量表达式而
不是数据库名称。
2 num_layers ‐ 并行层数。在物理上,该表将表示为 num_layers 个独立缓冲区。建议值
为 16 。
3 min_time,max_time,min_rows,max_rows,min_bytes,max_bytes ‐ 从缓冲区刷新
数据的条件。
4 如果满足所有 «min» 条件或至少一个 «max» 条件,则从缓冲区刷新数据并将其写入目标
表。
5 min_time,max_time — 从 第一次写入缓冲区时起以秒为单位的时间条件。
6 min_rows,max_rows ‐ 缓冲区中行数的条件。
7 min_bytes,max_bytes ‐ 缓冲区中字节数的条件。
8 写入时,数据从 num_layers 个缓冲区中随机插入。或者,如果插入数据的大小足够大
(大于 max_rows 或 max_bytes ),
9 则会绕过缓冲区将其写入目标表。 每个 «num_layers» 缓冲区刷新数据的条件是分别计
算。
10 例如,如果 num_layers = 16 且 max_bytes = 100000000 , 则最大RAM消耗将为1.
GB。
查询:
select
Array Join
示例:
1 CREATE TABLE arrays_test ( s String, arr Array(UInt8) ) ENGINE = Memory;
2 INSERT INTO arrays_test VALUES ('Hello', [ 1 , 2 ]), ('World', [ 3 , 4 , 5 ]), ('Go
odbye', []);
1 SELECT s, arr FROM arrays_test ARRAY JOIN arr;
1 ┌─s─────┬─arr─┐
2 │ Hello │ 1 │
3 │ Hello │ 2 │
4 │ World │ 3 │
5 │ World │ 4 │
6 │ World │ 5 │
7 └───────┴─────┘
DISTINCT子句
format子句
final子句 避免使用
GROUP BY子句
INTO OUTFILE子句:将查询输出到文件
JOIN子句
WHERE 子句
UNION ALL 子句
SAMPLE子句
PREWHERE子句
WITH 子句, 定义参数
ALTER
删除列
1 DROP COLUMN [IF EXISTS] name
添加列
1 ADD COLUMN [IF NOT EXISTS] name [type] [default_expr] [codec] [AFTER name
_after]
清空列
1 CLEAR COLUMN [IF EXISTS] name IN PARTITION partition_name
增加注释
1 COMMENT COLUMN [IF EXISTS] name 'comment'
修改列
1 MODIFY COLUMN [IF EXISTS] name [type] [default_expr] [TTL]
你可以使用 clickhouse-copier 代替 INSERT SELECT
添加注释
1 COMMENT COLUMN [IF EXISTS] name 'comment'
修改排序
1 MODIFY ORDER BY new_expression
更改约束
1 ALTER TABLE [db].name ADD CONSTRAINT constraint_name CHECK expression;
2 ALTER TABLE [db].name DROP CONSTRAINT constraint_name;
更改分区文件
1 DETACH PARTITION — 将分区数据移动到 detached ,并且忘记它
2 DROP PARTITION — 删除一个partition.
3 ATTACH PART|PARTITION — 将detached 目录中的分区重新添加到表中.
4 ATTACH PARTITION FROM — 从表中复制数据分区到另一张表,并添加分区
5 REPLACE PARTITION — 从表中复制数据分区到其它表及副本
6 MOVE PARTITION TO TABLE — 从表中复制数据分区到其它表.
7 CLEAR COLUMN IN PARTITION — 重置分区中某个列的值
8 CLEAR INDEX IN PARTITION — 重置分区中指定的二级索引
9 FREEZE PARTITION — 创建分区的备份
10 FETCH PARTITION — 从其它服务器上下载分
11 MOVE PARTITION|PART — 将分区/数据块移动到另外的磁盘/卷
分区剥离
1 ALTER TABLE table_name DETACH PARTITION partition_expr
删除分区
1 ALTER TABLE table_name DROP PARTITION partition_exp
删除已剥离的分区|数据块
1 ALTER TABLE table_name DROP DETACHED PARTITION|PART partition_expr
关联分区|数据块
1 ALTER TABLE table_name ATTACH PARTITION|PART partition_expr
从…关联分区
1 ALTER TABLE table2 ATTACH PARTITION partition_expr FROM table
替换分区
1 ALTER TABLE table2 REPLACE PARTITION partition_expr FROM table
替换分区和从…关联分区要求两张表有相同的结构并且有相同的分区键
将分区移动到表
1 ALTER TABLE table_source MOVE PARTITION partition_expr TO TABLE table_des
t
要求:
1 2 张表必须有相同的结构
2 2 张表必须有相同的分区键
3 2 张表必须属于相同的引擎系列(可复制表或不可复制表)
4 2 张表必须有相同的存储方式
清空分区的列
1 ALTER TABLE table_name CLEAR COLUMN column_name IN PARTITION partition_ex
pr
冻结分区:该操作为指定分区创建一个本地备份。如果 PARTITION 语句省略,该操作会一次性为所有分区创建备份
1 ALTER TABLE table_name FREEZE [PARTITION partition_expr]
删除分区的索引
1 ALTER TABLE table_name CLEAR INDEX index_name IN PARTITION partition_expr
获取分区
1 ALTER TABLE table_name FETCH PARTITION partition_expr FROM 'path‐in‐zooke
eper'
移动分区|数据块
1 ALTER TABLE table_name MOVE PARTITION|PART partition_expr TO DISK|VOLUME
'disk_name'
更改表的TTL
1 ALTER TABLE table‐name MODIFY TTL ttl‐expression
Mutations
Mutations是一类允许对表的行记录进行删除或更新的ALTER操作。相较于标准的UPDATE 和 DELETE 用于少量行操作而 言,Mutations用来对表的很多行进行重量级的操作。该操作支持 MergeTree系列表,包含支持复制功能的表。
修改用户
ALTER USER [IF EXISTS] name [ON CLUSTER cluster_name]
[RENAME TO new_name]
[IDENTIFIED [WITH {PLAINTEXT_PASSWORD|SHA256_PASSWORD|DOUBLE_SHA1_PASSWOR
D}] BY
{'password'|'hash'}]
[[ADD|DROP] HOST {LOCAL | NAME 'name' | REGEXP 'name_regexp' | IP 'addre
ss' | LIKE 'pattern'} [,...] | ANY | NONE]
[DEFAULT ROLE role [,...] | ALL | ALL EXCEPT role [,...] ]
[SETTINGS variable [= value] [MIN [=] min_value]
[MAX [=] max_value] [READONLY|WRITABLE] | PROFILE
'profile_name'] [,...]
设置默认角色:
1 ALTER USER user DEFAULT ROLE role1, role
将所有分配的角色设为默认
1 ALTER USER user DEFAULT ROLE ALL
将除了 role1 和 role2之外的其它角色 设为默认
1 ALTER USER user DEFAULT ROLE ALL EXCEPT role1, role
修改角色
1 ALTER ROLE [IF EXISTS] name [ON CLUSTER cluster_name]
2 [RENAME TO new_name]
3 [SETTINGS variable [= value] [MIN [=] min_value] [MAX [=] max_value]
4 [READONLY|WRITABLE] | PROFILE 'profile_name'] [,...]
修改row policy
1 ALTER [ROW] POLICY [IF EXISTS] name [ON CLUSTER cluster_name] ON [databas
e.]table
2 [RENAME TO new_name]
3 [AS {PERMISSIVE | RESTRICTIVE}]
4 [FOR SELECT]
5 [USING {condition | NONE}][,...]
6 [TO {role [,...] | ALL | ALL EXCEPT role [,...]}]
修改配额quotas
1 ALTER QUOTA [IF EXISTS] name [ON CLUSTER cluster_name]
2 [RENAME TO new_name]
3 [KEYED BY {'none' | 'user name' | 'ip address' | 'client key' | 'client k
ey or user name' | 'client key or ip address'}]
4 [FOR [RANDOMIZED] INTERVAL number {SECOND | MINUTE | HOUR | DAY}
5 {MAX { {QUERIES | ERRORS | RESULT ROWS | RESULT BYTES | READ ROWS | READ
BYTES | EXECUTION TIME} = number } [,...]
6 | NO LIMITS | TRACKING ONLY} [,...]]
7 [TO {role [,...] | ALL | ALL EXCEPT role [,...]}]
修改settings配置
1 ALTER SETTINGS PROFILE [IF EXISTS] name [ON CLUSTER cluster_name]
2 [RENAME TO new_name]
3 [SETTINGS variable [= value] [MIN [=] min_value] [MAX [=] max_value] [REA
DONLY|WRITABLE] |
4 INHERIT 'profile_name'] [,...]
SYSTEM Queries
RELOAD EMBEDDED DICTIONARIES
1 重新加载所有内置字典。默认情况下内置字典是禁用的。
2 总是返回 ‘OK.’,不管这些内置字典的更新结果如何。
RELOAD DICTIONARIES
1 重载已经被成功加载过的所有字典。
2 默认情况下,字典是延时加载的( dictionaries_lazy_load),不是在服务启动时自动
加载,
3 而是在第一次使用dictGet函数 或通过 SELECT from tables with ENGINE = Dictiona
ry 进行访问时被初始化。
4 这个命令 SYSTEM RELOAD DICTIONARIES 就是 针对这类表进行重新加载的。
RELOAD DICTIONARY Dictionary_name
1 完全重新加载指定字典 dictionary_name,不管该字典的状态如何(LOADED / NOT_LOADE
D / FAILED)。
2 不管字典的更新结 果如何,总是返回 OK.
3 字典的状态可以通过查询 system.dictionaries表来检查。
1 SELECT name, status FROM system.dictionaries;
DROP DNS CACHE
1 重置CH的dns缓存。有时候(对于旧的ClickHouse版本)当某些底层环境发生变化时(修改
其它Clickhouse服务器的ip或 字典所在服务器的ip),
2 需要使用该命令。
DROP REPLICA
1 SYSTEM DROP REPLICA 'replica_name' FROM TABLE database.table;
2 SYSTEM DROP REPLICA 'replica_name' FROM DATABASE database;
3 SYSTEM DROP REPLICA 'replica_name';
4 SYSTEM DROP REPLICA 'replica_name' FROM ZKPATH '/path/to/table/in/zk';
该操作将副本的路径从Zookeeper中删除。当副本失效,并且由于该副本已经不存在
导致它的元数据不能通过 DROP TABLE从zookeeper中删除,这种情形下可以使用该命令。它只会删除失效或过期的副本,不会删除本地的副本。请使用 DROP TABLE 来删除本地副本。 DROP REPLICA 不会删除任何表,并且不会删除磁盘上的任何数据或元数据信息。
1 第 1 条语句:删除 database.table表的 replica_name副本的元数据
2 第 2 条语句:删除 database 数据库的 所有replica_name副本的元数据
3 第 3 条语句:删除本地服务器所有 replica_name副本的元数据
4 第 4 条语句:用于在表的其它所有副本都删除时,删除已失效副本的元数据。使用时需要明
确指定表的路径。该路径必须和创建表时 ReplicatedMergeTree引擎的第一个参数一致。
FLUSH LOGS
1 将日志信息缓冲数据刷入系统表(例如system.query_log)。调试时允许等待不超过7.
秒。当信息队列为空时,会创建系 统表。
RELOAD CONFIG
1 重新加载ClickHouse的配置。用于当配置信息存放在ZooKeeper时。
SHUTDOWN
1 关闭ClickHouse服务
KILL
1 关闭ClickHouse进程
Managing Distributed Tables
1 ClickHouse可以管理 distribute表。当用户向这类表插入数据时,ClickHouse首先为需
要发送到集群节点的数据创建一个队列,然后异步的发送它们。
2 你可以维护队列的处理过程,通过STOP DISTRIBUTED SENDS, FLUSH DISTRIBUTED, 以
及 START DISTRIBUTED SENDS。
3 你也可以设置 insert_distributed_sync参数来以同步的方式插入分布式数据。
STOP DISTRIBUTED SENDS
1 当向分布式表插入数据时,禁用后台的分布式数据分发。
2 SYSTEM STOP DISTRIBUTED SENDS [db.]<distributed_table_name>
FLUSH DISTRIBUTED
1 强制让ClickHouse同步向集群节点同步发送数据。如果有节点失效,ClickHouse抛出异常
并停止插入操作。
2 当所有节点都恢 复上线时,你可以重试之前的操作直到成功执行。
3 SYSTEM FLUSH DISTRIBUTED [db.]<distributed_table_name>
START DISTRIBUTED SENDS
1 SYSTEM START DISTRIBUTED SENDS [db.]<distributed_table_name>
Managing MergeTree Tables
ClickHouse可以管理 MergeTree表的后台处理进程。
STOP MERGES
1 为MergeTree系列引擎表停止后台合并操作。
2 SYSTEM STOP MERGES [[db.]merge_tree_family_table_name]
START MERGES
1 为MergeTree系列引擎表启动后台合并操作。
2 SYSTEM START MERGES [[db.]merge_tree_family_table_name]
STOP TTL MERGES
1 根据 TTL expression,为MergeTree系列引擎表停止后台删除旧数据。
2 不管表存在与否,都返回 OK.。当数据库不存在时返回错误。
3 SYSTEM STOP TTL MERGES [[db.]merge_tree_family_table_name]
START TTL MERGES
1 根据 TTL expression,为MergeTree系列引擎表启动后台删除旧数据。不管表存在与否,
都返回 OK.。当数据库不存在时 返回错误
2 SYSTEM START TTL MERGES [[db.]merge_tree_family_table_name]
STOP MOVES
1 根据 TTL expression,为MergeTree系列引擎表停止后台移动数据。不管表存在与否,都
返回 OK.。当数据库不存在时返 回错误。
2 SYSTEM STOP MOVES [[db.]merge_tree_family_table_name]
START MOVES
1 根据 TTL expression,为MergeTree系列引擎表启动后台移动数据。不管表存在与否,都
返回 OK.。当数据库不存在时返 回错误。
2 SYSTEM STOP MOVES [[db.]merge_tree_family_table_name]
Managing ReplicatedMergeTree Tables
管理 ReplicatedMergeTree表的后台复制相关进程。
STOP FETCHES
1 停止后台获取 ReplicatedMergeTree系列引擎表中插入的数据块。
2 不管表引擎类型如何或表/数据库是否存,都返回 OK.。
3 SYSTEM STOP FETCHES [[db.]replicated_merge_tree_family_table_name]
START FETCHES
1 启动后台获取 ReplicatedMergeTree系列引擎表中插入的数据块。
2 不管表引擎类型如何或表/数据库是否存,都返回 OK.。
3 SYSTEM START FETCHES [[db.]replicated_merge_tree_family_table_name]
STOP REPLICATED SENDS
1 停止通过后台分发 ReplicatedMergeTree系列引擎表中新插入的数据块到集群的其它副本
节点。
2 SYSTEM STOP REPLICATED SENDS [[db.]replicated_merge_tree_family_table_nam
e]
START REPLICATED SENDS
1 启动通过后台分发 ReplicatedMergeTree系列引擎表中新插入的数据块到集群的其它副本
节点。
2 SYSTEM START REPLICATED SENDS [[db.]replicated_merge_tree_family_table_na
me]
STOP REPLICATION QUEUES
1 停止从Zookeeper中获取 ReplicatedMergeTree系列表的复制队列的后台任务。
2 可能的后台任务类型包含:merges, fetches, mutation,带有 ON CLUSTER的ddl语句
3 SYSTEM STOP REPLICATION QUEUES [[db.]replicated_merge_tree_family_table_n
ame]
START REPLICATION QUEUES
1 启动从Zookeeper中获取 ReplicatedMergeTree系列表的复制队列的后台任务。
2 可能的后台任务类型包含:merges, fetches, mutation,带有 ON CLUSTER的ddl语句
3 SYSTEM START REPLICATION QUEUES [[db.]replicated_merge_tree_family_table_
name]
SYNC REPLICA
1 直到 ReplicatedMergeTree表将要和集群的其它副本进行同步之前会一直运行。
2 如果当前对表的获取操作禁用的话,在达到 receive_timeout之前会一直运行。
3 SYSTEM SYNC REPLICA [db.]replicated_merge_tree_family_table_name
RESTART REPLICA
1 重置 ReplicatedMergeTree表的Zookeeper会话状态。该操作会以Zookeeper为参照,对
比当前状态,有需要的情况下将任 务添加到ZooKeeper队列。
2 基于ZooKeeper的日期初始化复制队列,类似于 ATTACH TABLE语句。短时间内不能对表进
行任何操作。
3 SYSTEM RESTART REPLICA [db.]replicated_merge_tree_family_table_name
RESTART REPLICAS
1 重置所有 ReplicatedMergeTree表的ZooKeeper会话状态。该操作会以Zookeeper为参
照,对比当前状态,有需要的情况下 将任务添加到ZooKeeper队列。
2 SYSTEM RESTART QUEUES [db.]replicated_merge_tree_family_table_name