截断并插入clickhouse数据库

fbcarpbf  于 2021-07-15  发布在  ClickHouse
关注(0)|答案(1)|浏览(519)

我有一个特殊的场景,需要每隔30分钟左右截断并批量插入clickhouse dbms中的表。我在clickhouse中找不到truncate选项的引用。
但是,我可以找到一些建议,我们可以通过删除旧表、创建同名的新表并向其中插入数据来间接实现这一点。
关于这一点,我有几个问题。
这是如何实现的?这个过程的步骤顺序是什么?
在删除和重新创建表的过程中,select等其他查询会发生什么情况?
在clickhouse中删除和重新创建一个表通常需要多长时间?
有没有更好更干净的方法来实现这一点?

ltskdhd1

ltskdhd11#

这是如何实现的?这个过程的步骤顺序是什么? TRUNCATE 支持。现在不需要删除并重新创建表。
在删除和重新创建表的过程中,select等其他查询会发生什么情况?
这取决于您使用哪个表引擎。对于合并树族,您可以获得类似快照的行为 SELECT .
在clickhouse中删除和重新创建一个表通常需要多长时间?
我认为这取决于底层文件系统处理文件删除的速度。对于大型表,它可能包含数以百万计的数据部分文件,这会导致缓慢的截断。不过,对你来说,我不会太担心。
有没有更好更干净的方法来实现这一点?
我建议使用带有(datetime/60)列(每分钟)的partitons和一个用户脚本,该脚本不断地为过期的分区收集分区。

相关问题