搜索:clickhouse

Clickhouse2022开源路线图(重大特性的实现蓝图),看看有没有你想要的

原创 2022-11-01 16:43 阅读(662)次
clickhouse更新太快,2022又发布了很多新特性,截止今天还有部分新特性还在开发中,我列举一些大家可能比较关注的: 1.使clickhouse-keeper生产准备就绪,意味着官方已经推荐生产上替换掉zookeeper了 2.支持备份和恢复: 备份表、数据库、服务器和集群; 增量备份、支持部分恢复; 支持可插拔式的备份存储选项。 3.事务支持(还在开发中) 4.支持轻量化的删除 5.存算分离(还在开发中) 6.流式查询(还在开发中) 7.join优化(还在开发中) 还有很多特性我没列出,其他大家可以[点这查看详细](https://...

clickhouse删除数据时报错

原创 2022-06-13 14:02 阅读(3051)次
今天执行了一下ck的表数据删除报错,错误信息如下: ``` ClickHouse exception, code: 1002, host: 192.168.29.124, port: 18123; Code: 341. DB::Exception: There was an error on [192.168.29.126:9000]: Code: 341. DB::Exception: Exception happened during execution of mutation '0000000000' with part 'all_3_3_0' reason: 'Code: 198....

Clickhouse批量删除分区

原创 2021-12-09 00:57 阅读(7943)次
clickhouse表一般都会做分区,而删除数据最快的方式就通过删除分区进行,在维护数据生命周期中,一般我们都会定时删除分区来达到目的,这里就会涉及批量删除分区的动作。 那么我们怎么进行批量删除分区呢? 我们知道用如下语句删除分区: alter table 表名 drop partition 分区名 分区名可以通过以下语句查询出来: select * from system.parts p where table = '表名' ![](http://img.classinstance.cn/20211209/1638982921708.jpg) 如上图所示我们上面语句查询出来...

clickhouse清空删除表数据

原创 2021-05-25 18:30 阅读(17477)次
最近看到很多朋友问clickhouse如何清空表数据?或者有没有像mysql一样truncate删除整张表数据的语句呢? 答案是:旧版没有,新版本中有提供。先说旧版中它只提供如下语句: ALTER TABLE 表名 DELETE WHERE 条件 . 并且这语句性能不是很好,也是异步删除,语句执行成功不代表真的成功。 当然你也可以使用删除分区的方式达到清空表的目的,但提前你得一个一个分区的删,太麻烦了。 你想快速清空表,只能重建表了。 重建表要先drop表,如下: drop table 表名 . 如果你的表是在集群下,也可以使用分布式DDL来删除和重建表...

clickhouse如何修改字段名

原创 2021-03-19 10:00 阅读(9482)次
clickhouse如何修改字段名?也就是如何对字段重命名? 早期版本是不支持的,在ClickHousereleasev20.4.2.9,2020-05-12版本之后就开始加入了这个特性。大家记得看看自己的版本。 语法如下: ```sql ALTER TABLE visits RENAME COLUMN webBrowser TO browser ``` 分布式集群下用分布式DDL修改字段名 ```sql ALTER TABLE visits on cluster shipin_cluster RENAME COLUMN webBrowser TO browser `...

clickhouse如何删除数据库和创建数据库以及分布式DDL创建数据库

原创 2021-02-25 17:20 阅读(6261)次
#### 前言 我们使用clickhouse大部分情况都是使用集群模式,那么我们希望创建库或删除库时都是一条语句在集群所有节点中运行,而不是手动在各节点单独执行创建或删除库。 语句如下: #### 1.clickhouse删除数据库 ```sql drop database base_db ``` #### 2.存在时再删除数据库 ```sql drop database IF EXISTS base_db ``` IF EXISTS是可选的 #### 3.分布式DDL删除数据库 ```sql drop database IF E...

mybatis设置全局变量

原创 2020-12-29 15:19 阅读(3458)次
clickhouse在分布式子查询中会将语句发送到多个分片执行,如果语句中的表前不写上库名,查询时会报在default库中找不到表,所以我们需要给每个clickhouse的查询中都写上库名,这样才能正常执行。但库名写死在语句中并不优雅,万一库名修改或测试环境的库名不同,我们开发要将这么多查询语句都要修改,不得累到死,于是就要将clickhouse库名进行配置到公共变量,并在mybatis中获取。下面分享下如何在mybatis设置和全局变量。先要spring boot配置文件中定义需要设置的全局配置,然后在clickhouse的mybatis sessionFactory中设置全局变量,这样my...

druid执行clickhouse报错:sql injection violation, dbType clickhouse , druid-version 1.2.2, syntax error

原创 2020-12-15 11:45 阅读(8432)次
今天遇到一个druid不支持clickhouse的问题,druid执行clickhouse报错:sql injection violation, dbType clickhouse , druid-version 1.2.2, syntax error错误如下: Caused by: java.sql.SQLException: sql injection violation, dbType clickhouse, , druid-version 1.2.2, syntax error: syntax error, error in :'icle r where first_appear_ti...

clickhouse如何删除数据

原创 2020-11-27 18:09 阅读(38793)次
clickhouse删除数据提供了三种方式:一、是删除分区,数据就会删除掉二、是通过Alter语句删除数据三、是还可以通过设置日期字段或表的TTL生命周期,到期自动清除数据四、直接用delete from语句删除(22.8版本之后才有的功能)注意:上面前2点都可以使用分布式DDL删除集群各节点数据,第三点是创建表时定义的,暂时不提。1.删除分区alter table 表名 drop partition 分区名分区名可以用下语句查询select * from system.parts p where table = '表名'以我下面这张表为例,分区函数是toYYYYMMDD(collect_ti...

clickhouse执行查询内存超出限制问题:Memory limit (total) exceeded

原创 2020-11-26 18:15 阅读(13561)次
今天用clickhouse执行分布式查询报错:SQL 错误 [241]: ClickHouse exception, code: 241, host: 192.168.29.124, port: 18123; Code: 241, e.displayText() = DB::Exception: Memory limit (total) exceeded: would use 15.44 GiB (attempt to allocate chunk of 4294967296 bytes), maximum: 13.95 GiB (version 20.6.3.28 (official bui...

clickhouse执行分布式DDL报错:Table `xxx` isn't replicated, but shard #2 is replicated according to its

原创 2020-11-17 18:06 阅读(1416)次
clickhouse执行分布式DDL报错:Table `xxx` isn't replicated, but shard #2 is replicated according to its cluster definition执行的语句是:alter table engs_comp_clg_result_local on cluster shipin_cluster drop partition 20191101 我是想把我集群shipin_cluster中两个节点的本地表中一个分区删除掉,但是一执行报如上错误,说是我的本地表不是复制表,但是分片2却根据定义在复制。我的集群配置如下:<y...