那些年我们踩过的一些坑之ClickHou

摘要:ClickHouse挺好用的,但是这些坑防不胜防,用过的才懂。本篇文章将持续更新...1.内存限制2.写数据失败3.删除数据4.Join关联默认值

现在用不到没关系,先收藏,防止后面找不到哦。

#大数据##大数据学习#

1、groupby使用内存限制

错误信息如下:

Code:.DB::Exception:Memorylimit(forquery)exceeded:woulduse9.37GiB(attempttoallocatechunkofbytes),maximum:9.31GiB.定位到该查询中的SQL中使用了groupby,默认的配置中没有对groupby做内存限制。

解决方案:

执行SQL之前,在客户端进行如下设置

setmax_memory_usage=;setmax_bytes_before_external_group_by=;--下面是sql内容在进行groupby的时候,内存使用量已经达到了max_bytes_before_external_group_by的时候就进行写磁盘(基于磁盘的groupby相对于基于磁盘的orderby性能损耗要好很多的),一般max_bytes_before_external_group_by设置为max_memory_usage/2,原因是在clickhouse中聚合分两个阶段:查询并且建立中间数据;合并中间数据写磁盘在第一个阶段,如果无须写磁盘,clickhouse在第一个和第二个阶段需要使用相同的内存。


转载请注明:http://www.aierlanlan.com/rzfs/2064.html

  • 上一篇文章:
  •   
  • 下一篇文章: