clickhouse优化汇总

news/2024/7/23 11:30:36 标签: clickhouse

记录下clickhouse平常用到的几个优化点:
1.数据类型的选择,不要都把每一列都设置成字符串类型,并且对于枚举值很少的字符串类型,可以使用LowCardinality编码,使用整数代替字符串存储
2.字段类型最好不要运行为null,使用特殊默认值来代表null值,因为对于运行为null的列,clickhouse需要额外的文件来存储,影响性能
3.对于Join操作,由于clickhouse采用的Broadcast join的方式,右表会被载入到内存中,所以小表要放在join操作的右边,此外,当两个大表进行Join操作时,建议这时候不要使用clickhouse进行这种大表的Join操作,应该结合Spark等进行优化,利用spark进行join操作,然后把结果再导入clickhouse中供用户实时查询
4.批量写入数据,尽量分批写入数据,并且可以使用Buffer表先把数据进行缓存,不过使用buffer表缓存的缺点是机器重启时数据会丢失,需要权衡


http://www.niftyadmin.cn/n/5249579.html

相关文章

朝花夕拾华山平台流水账

2021年8月25日,我加入了诚迈科技(南京),加入了华山平台。 跟我一起入职平台的还有三个小伙伴:小帅、小阳、小甘。 小帅能力很强,前后端都会,入职各种考试工具人。 小阳毕业没多久,一…

Kubernetes - 为什么 K8S 在容器里不能调用自己?

问题描述 最近遇到一个神奇的现象,在 K8S 的 POD 容器中,比如 pod name:mini-appnamespace:devport:5050 那么,是无法在 mini-app 容器里执行以下命令,如果执行,会一直卡在这条命…

【Docker】进阶之路:(一)容器技术发展史

【Docker】进阶之路:(一)容器技术发展史 什么是容器为什么需要容器容器技术的发展历程Docker容器是如何工作的 什么是容器 容器作为一种先进的虚拟化技术,已然成为了云原生时代软件开发和运维的标准基础设施。在了解容器技术之前…

ubuntu22.04 安装cuda

CUDA(Compute Unified Device Architecture)是由 NVIDIA 开发的一种并行计算平台和编程模型。它允许开发者利用 NVIDIA 的 GPU(图形处理单元)进行高效的计算处理。CUDA 通过提供一系列的 C、C 和 Fortran 扩展,使得开发…

Python 模板引擎 Jinja2 的安装和使用

目录 一、概述 二、安装 Jinja2 三、使用 Jinja2 四、Jinja2的强大功能和优点 五、总结 一、概述 Jinja2 是 Python 中广泛使用的一种模板引擎,它具有灵活的语法、强大的控制结构、方便的 API,以及高效的渲染速度。通过使用 Jinja2,开发…

2020年系统分析师综合知识历年真题(1-10) + 详解

【2020下系分真题第01题:绿色】 01.系统结构化分析模型包括数据模型、功能模型和行为模型,这些模型的核心是( )。 - A. 实体联系图 - B. 状态转换图 - C. 数据字典 - D. 流程图 答案:C 解答:结构化分析方法建立数据模型、功能模型…

【git 相关操作】

git status - 查看当前状态 git add - 将文件添加到暂存区 git commit -m "msg" - 提交暂存区文件到本地仓库 git push origin master - 本地仓库文件推送到远程仓库 git merge - 合并分支 git clone - 从指定地址克隆项目 git log - 查看commit日志 git stash push …

Windows循环检测,直到网络通/断后执行指定命令

前言 前几天,一个朋友让我帮他做个脚本或者批处理,要实现的功能很简单:开机时检测网络是否联通,如果联通了就执行一个指定的程序,然后脚本就可以退出了。 批处理的解决方法 手动操作时,我们通常使用ping…