前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >clickhouse(20.3.10.75版本) Sql报错总结

clickhouse(20.3.10.75版本) Sql报错总结

作者头像
公众号-利志分享
发布2022-04-25 09:29:56
1.4K0
发布2022-04-25 09:29:56
举报
文章被收录于专栏:利志分享

报错1:

代码语言:javascript
复制
DB::Exception: There is no supertype for types Int32, String because some of them are String/FixedString and some of them are not

翻译如下:

没有Int32超类型,因为它们中的一些是String/FixedString,一些不是。

原因和解决方案:

如果a字段是int32,我们查询

代码语言:javascript
复制
select ifNull(a,'') from mytest;

这样就会报这个错,这个是因为ifNull或者其他函数处理的时候给默认值只能给相同字段的同一类型的默认值,否则就会报类似这种错。

解决方案如下:

代码语言:javascript
复制
select ifNull(a, 0) from mytest;

在union all中也会经常出现这个报错,因为虽然字段可能是一样,但是字段类型不一样,也会报这样的错误。


报错2:

代码语言:javascript
复制
Multiple JOIN do not support asterisks for complex queries yet

翻译如下:

对于复杂的查询,多个JOIN还不支持星号

原因和解决方案:

涉及到join超过2个以上的sql,需要读里面的数据需要指定列。


报错3:

代码语言:javascript
复制
DB::Exception: Invalid status for associated output..

翻译如下:

DB::Exception:关联输出的无效状态..

原因和解决方案:

union all只能支持最多三个,超过三个以上的union all则会报此错误


报错4:

代码语言:javascript
复制
Memory limit (for query) exceeded: would use 9.38 GiB (attempt to allocate chunk of 135439453 bytes), maximum: 9.31 GiB

翻译如下:

内存超限制

原因和解决方案:

原因:

1:多用户并发执行,每个用户查询的数据量都很大,导致了总体超过了内存限制,导致了溢出

2:group by单语句问题 ClickHouse会限制group by使用的内存量(它使用 hash table来处理group by)

3:insert 语句也可能导致 内存溢出问题,调整参数

解决方案:

在内存足够情况下:

代码语言:javascript
复制
SET max_memory_usage = 128000000000; #128G

内存不足情况下:

代码语言:javascript
复制
set max_bytes_before_external_group_by=20000000000; #20G,默认值为0,表示在GROUP BY中启动将临时数据转存到磁盘上的内存阈值。


# 使用max_bytes_before_external_group_by时,建议将max_memory_usage设置为它的两倍。这是因为一个聚合需要两个阶段来完成:
#(1)读取数据并形成中间数据 
#(2)合并中间数据。临时数据的转存只会发生在第一个阶段。
# 如果没有发生临时文件的转存,那么阶段二将最多消耗与1阶段相同的内存大小。
set max_memory_usage=40000000000; #40G

报错5:

代码语言:javascript
复制
DB::Exception: Cannot UPDATE key column `user_id`. 

翻译如下:

不能更新索引列

原因和解决方案:

索引列不能进行更新


报错6:

代码语言:javascript
复制
DB::Exception: Mutations are not supported by storage Distributed

翻译如下:

mutation是不支持distributed引擎存储

原因和解决方案:

分布式表不能进行更新

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-12-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 利志分享 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档