微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在Clickhouse中创建实例化视图超时

如何解决在Clickhouse中创建实例化视图超时

我正在尝试在Clickhouse db中创建一个填充的大型物化视图,但是在创建时会超时。错误是:

makemigrations

解决此问题,我想增加此超时时间,但是问题是,我不知道它是哪一个。我的驱动程序属性中没有超时设置,该值是120s。 我已经将socket_timeout设置为500s。

如何增加120秒后触发上述错误的超时时间?

解决方法

它看起来像触发了 lock_acquire_timeout max_execution_time

尝试之一:

  • 不要定义POPULATE子句,而要按块手动填充物化视图
# define MV without POPULATE

CREATE MATERIALIZED VIEW IF NOT EXISTS mv_name ..
ENGINE = engine
AS SELECT ..
FROM ..;


# manually populate it by call of several INSERTs

INSERT INTO mv_name
SELECT ..
FROM ..
WHERE dt_column >= '..' AND dt_column < ''; // <-- restrict the chunk size

  • 或增加 lock_acquire_timeout max_execution_time -值
CREATE MATERIALIZED VIEW IF NOT EXISTS mv_name ..
ENGINE = engine
AS SELECT ..
FROM ..
SETTINGS max_execution_time = 600;

要定义设置为120的设置,请使用查询:

SELECT *
FROM system.settings
WHERE value = '120'

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。