一 简介:常见的clickhouse 问题汇总

二 问题系列
  1 内存问题
     Code: 241. DB::Exception: Received from localhost:9000, ::1. DB::Exception: Memory limit (for query) exceeded: would use 80.15 GiB (attempt to allocate chunk of 17179869184 bytes), maximum: 74.51 GiB.
     分析 内存溢出情况,内存总量放不下目标数据

这里有两种情况

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

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

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

变量调整user.xml相关变量

其他调整

1 减少并发  2 改写语句 3增大内存 4 调整参数

2 如何将hive导致ck中
    解决方式: 1 Waterdrop将Hive中的数据导入ClickHouse中 2Waterdrop经过配置文件配置即可,不用编写代码和导入csv
    github地址 https://github.com/InterestingLab/waterdrop
    1 此插件能支持多种输入输出目标,强烈推荐 2需要依赖spark
 3  ck多表join的问题
   1 多表join效果效率不是很高
   2 多表join的语法非常复杂 只能期待后续版本
 4 关于ck的查询与索引问题
   CK本身并没有索引,建表的时候已经指定了主键,建议一切查询都要带上主键条件,这样,能大大加快速度(merge),防止全表扫描,将很多数据置入内存中
 5 关于ck的适用场景 
  经过权威人士的测试,ck更多适用于单表查询的场景,对于多表join的效果和写法都存在问题,不建议使用,分布式架构采用Distribution+ReplicatedMergeTree

6 ck关于DDL操作的一些限制

1 不要进行 modify column,更改列的操作代价是非常高昂的

列式数据库~clickhouse问题汇总的更多相关文章

  1. 列式数据库~clickhouse 场景以及安装

    一 简介:列式数据库clickhouse的安装与基本操作二 基本介绍:ClickHouse来自俄罗斯,是一款列式数据库三 适用场景: 简单类型的大数据统计四 限制     1 不支持更新操作,不支持事 ...

  2. 数仓选型必列入考虑的OLAP列式数据库ClickHouse(上)

    概述 定义 ClickHouse官网地址 https://clickhouse.com/ 最新版本22.4.5.9 ClickHouse官网文档地址 https://clickhouse.com/do ...

  3. 列式数据库~clickhouse 底层存储原理

    简介:今天介绍列式数据库的一些基本原理 一  数据目录 Data目录 数据存储目录,数据按照part分成多个文件夹,每个文件夹下存储相应数据和对应的元信息文件 Metadata 表定义语句,存储所有表 ...

  4. 数仓选型必列入考虑的OLAP列式数据库ClickHouse(中)

    实战 案例使用 背景 ELK作为老一代日志分析技术栈非常成熟,可以说是最为流行的大数据日志和搜索解决方案:主要设计组件及架构如下: 而新一代日志监控选型如ClickHouse.StarRocks特别是 ...

  5. 列式数据库~clickhouse 副本集架构的搭建

    clickhouse 搭建副本集 一 原理:  1 依赖ZK,ZK的基础上,ZK存储数据库元数据 2  使用复制表引擎创建复制表,包括ZK路径和副本名,相同ZK路径的表可以相互复制 3  复制表本身拥 ...

  6. 列式数据库~clickhouse日常管理

    clickhouse日常管理一 变量相关  1 查看变量     system.setting相关表  2 设置变量     set variables= 请注意这里是session级别,如果想永久生 ...

  7. 列式数据库~clickhouse 数据同步使用

    一 简介:进一步了解clickhouse二 数据操 1 单机建表 create TABLE aaa (    id UInt32,    uid UInt32,    amount Float64,  ...

  8. Hbase与Oracle比较(列式数据库与行式数据库)

    Hbase与Oracle比较(列式数据库与行式数据库) 1 主要区别 Hbase适合大量插入同时又有读的情况 Hbase的瓶颈是硬盘传输速度,Oracle的瓶颈是硬盘寻道时间.   Hbase本质上只 ...

  9. Hadoop HBase概念学习系列之HBase里的列式数据库(十七)

    列式数据库,从数据存储方式上有别于行式数据库,所有数据按列存取. 行式数据库在做一些列分析时,必须将所有列的信息全部读取出来 而列式数据库由于其是按列存取,因此只需在特定列做I/O即可完成查询与分析, ...

随机推荐

  1. python 类的介绍实例

    使用面向对象的优点: 1.能够更好的设计软件架构 2.维护软件模块 3.易于架构和组件的重用 类的定义: 构造函数:初始化用,写不写都可以,默认为空 类属性:属于类的对象 方法属性:不属于类的对象 私 ...

  2. jenkins学习:jenkins+gitlab

    配置前提: 1.Jenkins已安装git plugin,gitlab plugin,安装过程可参考 https://www.cnblogs.com/zhizhiyin/p/9138309.html ...

  3. Unable to find ‘struts.multipart.saveDir’ Struts2上传文件错误的解决方法

    Unable to find ‘struts.multipart.saveDir’ Struts2上传文件错误的解决方法 在使用struts2的项目中上传文件的时候出现了一个这样的错误: 2011-7 ...

  4. okhttp 内网可以有,但外网访问数据返不回来,代码一样

    :1.问题点在于 下图红框里写成 text/html了,需要改成application/json,造成的问题有:unexpected end of stream  这个是406错误:加上日志之后okh ...

  5. Error[Pe020]: identifier "FILE" is undefined

    Error[Pe020]: identifier "FILE" is undefined 需要添加头文件:#include <stdio.h>

  6. Ajxa用在哪些方面(六)

    Ajax只有在适当的地方才会用到,也即需要在后台进行大量数据处理(充当消息通知机制),需要频繁的定时或不定时从服务器中读取数据的时候.1.比如我们常接触电子邮件系统中,因为电子邮件系统一般都由电子邮件 ...

  7. UVA11527Unique Snowflakes(滑动窗口 + set判重 | | map)

    题意:输入长度为n的序列a,找到一个尽量长的连续子序列a[l] - a[r],使该序列中没有相同的元素 紫薯P239 序列元素从0开始编号,l 和 r 分别表示子序列左右端点,初始化为0,固定 l,判 ...

  8. Kubernetes 集群ca验证

    创建集群时跳过ca验证 # vim /etc/kubernetes/apiserver 去除KUBE_ADMISSION_CONTROL中的 SecurityContextDeny,ServiceAc ...

  9. Hbase 1.3.0 Rsgroup

    HBase RSGroup Git环境window环境下,警用crlf自动转换git config --global core.autocrlf false protobuf环境yum install ...

  10. JAVA核心技术I---JAVA基础知识(查漏补缺private,static)

    一:private对于类和对象(同C++) private是只有这个类内部可以访问(类的成员函数和定义初始化) private是类之间的限制,而不是对对象的限制<重点> 同类对象是可以直接 ...