clickhouse分布式表的操作示例詳解
序
本文主要研究一下clickhouse分布式表的操作
創(chuàng)建分布式表
CREATE TABLE [IF NOT EXISTS] [db.]table_name [ON CLUSTER cluster]
(
name1 [type1] [DEFAULT|MATERIALIZED|ALIAS expr1],
name2 [type2] [DEFAULT|MATERIALIZED|ALIAS expr2],
...
) ENGINE = Distributed(cluster, database, table[, sharding_key[, policy_name]])
[SETTINGS name=value, ...]示例
CREATE TABLE distribute_test_all on cluster c1 ( name String, age Int16, weight Float32 ) ENGINE = Distributed(c1, db1, distribute_test_local, rand());
這里在c1的cluster定義了一個distribute_test_all的分布式表,查詢本地的distribute_test_local表,而sharding_key采用的是隨機的方式,將數(shù)據(jù)分布到每個節(jié)點的本地表
創(chuàng)建本地表
CREATE TABLE [IF NOT EXISTS] [db.]table_name [ON CLUSTER cluster]
(
name1 [type1] [NULL|NOT NULL] [DEFAULT|MATERIALIZED|EPHEMERAL|ALIAS expr1] [compression_codec] [TTL expr1] [COMMENT 'comment for column'],
name2 [type2] [NULL|NOT NULL] [DEFAULT|MATERIALIZED|EPHEMERAL|ALIAS expr2] [compression_codec] [TTL expr2] [COMMENT 'comment for column'],
...
) ENGINE = engine
COMMENT 'comment for table'示例
CREATE TABLE distribute_test_local on cluster c1 ( name String, age Int16, weight Float32 ) Engine=MergeTree() ORDER BY name;
這里在c1的cluster的每個實例上創(chuàng)建distribute_test_local表,engine為MergeTree
刪除表
--刪除分布式表 DROP TABLE distribute_test_all ON CLUSTER c1 -刪除本地表 DROP TABLE distribute_test_local ON CLUSTER c1
如果要徹底刪除一張分布式表則需要分別刪除分布式表和本地表
小結(jié)
clickhouse提供了分布式表,針對insert和select的查詢,會以分布式的方式作用于本地表。
以上就是clickhouse分布式表的操作示例詳解的詳細內(nèi)容,更多關(guān)于clickhouse分布式表操作的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
ubuntu mysql 5.6版本的刪除/安裝/編碼配置文件配置
這篇文章主要介紹了ubuntu mysql 5.6版本的刪除,安裝,編碼配置文件配置,需要的朋友可以參考下2017-06-06

