ClickHouse 官方文档摘录

数据库创建:

延时引擎:

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值