gpt4 book ai didi

sql - 在 ClickHouse 数据库中截断和插入

转载 作者:搜寻专家 更新时间:2023-10-30 20:23:15 24 4
gpt4 key购买 nike

我有一个特定的场景,我需要每隔 30 分钟左右截断一次并批量插入到 ClickHouse DBMS 中的一个表中。我在 ClickHouse 中找不到 truncate 选项的引用。

但是,我可以找到一些建议,我们可以通过删除旧表,创建同名的新表并插入来间接实现这一点> 将数据放入其中。

关于这一点,我有几个问题。

  1. 这是如何实现的?这个过程中的步骤顺序是什么?
  2. 在删除和重新创建表期间,Select 等其他查询会发生什么情况?
  3. 在 ClickHouse 中删除和重新创建表通常需要多长时间?
  4. 是否有更好、更简洁的方法可以实现这一点?

最佳答案

How is this achieved ? What is the sequence of steps in this process ?

支持

TRUNCATE。现在无需删除并重新创建表。

What happens to other queries such as Select during the time when the table is being dropped and recreated ?

这取决于您使用的表格引擎。对于 merge-tree family,您将获得 SELECT 的类似快照的行为。

How long does it usually take for a table to be dropped and recreated in ClickHouse ?

我假设它依赖于底层文件系统处理文件删除的速度。对于大型表,它可能包含数百万个数据部分文件,这会导致截断速度变慢。但是,对于您的情况,我不会太担心。

Is there a better and clean way this can be achieved ?

我建议使用 partitons带有 (DateTime/60) 列(每分钟)以及不断为过时分区进行分区收集的用户脚本。

关于sql - 在 ClickHouse 数据库中截断和插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52020355/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com