clickhouse分布式表的操作示例详解

 更新时间:2023年11月30日 09:09:43   作者:codecraft  
这篇文章主要为大家介绍了clickhouse分布式表的操作示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

本文主要研究一下clickhouse分布式表的操作

创建分布式表

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采用的是随机的方式,将数据分布到每个节点的本地表

创建本地表

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的每个实例上创建distribute_test_local表,engine为MergeTree

删除表

--删除分布式表
DROP TABLE distribute_test_all ON CLUSTER c1

-删除本地表
DROP TABLE distribute_test_local ON CLUSTER c1

如果要彻底删除一张分布式表则需要分别删除分布式表和本地表

小结

clickhouse提供了分布式表,针对insert和select的查询,会以分布式的方式作用于本地表。

以上就是clickhouse分布式表的操作示例详解的详细内容,更多关于clickhouse分布式表操作的资料请关注脚本之家其它相关文章!

相关文章

  • mysql 8.0.15 winx64解压版安装配置方法图文教程

    mysql 8.0.15 winx64解压版安装配置方法图文教程

    这篇文章主要为大家详细介绍了mysql 8.0.15 winx64解压版安装配置方法图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-02-02
  • mysql数据库插入速度和读取速度的调整记录

    mysql数据库插入速度和读取速度的调整记录

    由于项目变态需求;需要在一个比较短时间段急剧增加数据库记录(两三天内,由于0增加至4亿)。在整个过程调优过程非常艰辛
    2012-07-07
  • mysql实现列转行和行转列方式

    mysql实现列转行和行转列方式

    这篇文章主要介绍了mysql实现列转行和行转列方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-08-08
  • MySQL 多列 IN 查询之语法、性能与实战技巧(最新整理)

    MySQL 多列 IN 查询之语法、性能与实战技巧(最新整理)

    本文详解MySQL多列IN查询,对比传统OR写法,强调其简洁高效,适合批量匹配复合键,通过联合索引、分批次优化提升性能,兼容多种数据库,提供动态生成和实战技巧,助力复杂条件查询优化,感兴趣的朋友一起看看吧
    2025-07-07
  • 日常收集整理常见的mysql sql技巧

    日常收集整理常见的mysql sql技巧

    本篇内容是小编日常收集整理常见的mysql sql技巧,对大家学习mysql sql技巧相关内容有所帮助,感兴趣的朋友一起学习吧
    2015-12-12
  • Mysql二进制安装与备份的全过程记录

    Mysql二进制安装与备份的全过程记录

    这篇文章主要给大家介绍了关于Mysql二进制安装与备份的相关资料,文中通过实例代码介绍的非常详细,对大家学习或者使用mysql具有一定的参考学习价值,需要的朋友可以参考下
    2022-01-01
  • mysql中的各种约束条件深入探讨

    mysql中的各种约束条件深入探讨

    在mysql中对编辑的数据进行类型的限制,不满足约束条件的报错,本文给大家分享mysql中的各种约束条件,结合实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧
    2024-05-05
  • Mysql锁之共享锁(读锁)和排他锁(写锁)详解

    Mysql锁之共享锁(读锁)和排他锁(写锁)详解

    这篇文章主要介绍了Mysql锁之共享锁(读锁)和排他锁(写锁),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • MySQL中如何在原有的表中增加一列

    MySQL中如何在原有的表中增加一列

    这篇文章主要介绍了MySQL中如何在原有的表中增加一列问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • Windows中MySQL root用户忘记密码解决方案

    Windows中MySQL root用户忘记密码解决方案

    在实际应用中,经常会出现忘记mysql管理员用户root的密码的情况出现,那么我们如何来设置一个新密码从而登录数据库呢,下面我们来探讨下
    2014-07-07

最新评论