当前位置: 首页 > news >正文

Clickhouse使用笔记

clickhouse官方文档:https://clickhouse.com/docs/zh/sql-reference/data-types/decimal
一,建表

create table acitivity_user_record
(
id String DEFAULT generateUUIDv4(), -- 主键自增
activityId String,
userId String,
userName Nullable(String),
phoneNumber Nullable(String),
companyName Nullable(String),
companyAddr Nullable(String),
`source` Nullable(String),
`platform` Nullable(String),
addDate UInt64,
addDateTime DateTime64(3)
)
engine = ReplacingMergeTree PARTITION BY activityId
PRIMARY KEY (id)
ORDER BY (id, addDateTime, activityId)
SETTINGS index_granularity = 8192;

(1)表引擎
ReplacingMergeTree 具有去重功能,数据存储在磁盘上
Memory引擎数据可能会重复,数据存储在内存中,查询会更快,但是数据容易丢失,如果服务器挂掉,数据就丢失了。
在idea使用表的拷贝功能,将表从一个库拷贝到另一个库的时候,表引擎自动变为memory,服务器重启数据就丢失了。
如果不指定PRIMARY KEY会把order by指定的字段作为主键
order by用于对分区内的数据进行排序

二,遇到的一些问题
1,语法上和mysql,sqlserver上有差异
1,分区字段,排序字段不支持update,只能删除再插入
2,Nullable类型的字符串字段,很多字符串的函数不能用,嗯,试试就知道了
3,clickhouse在进行算数运算和比较运算时默认会进行精度检查
例如decaimal类型相乘,
例如amout和tax_cost_price都是Decimal(18,6) 类型的,amout*tax_cost_price相乘之后小数部分位数会相加,变成Decimal(18,12),精度溢出报错
在这里插入图片描述
得先进行精度转换multiply(toDecimal64(sbd.amount, 5), toDecimal64(sbd.tax_cost_price, 5)
检查溢出会导致计算变慢。如果已知溢出不可能,则可以通过设置decimal_check_overflow来禁用溢出检查,在这种情况下,溢出将导致结果不正确,官方文档里描述的很详细,还有示例
4,clickhouse多表关联查询时性能很差,之前在查销售流向的时候使用了五张表进行关联查询,其中两张销售表的数据量特别大,进行关联聚合查询时执行了1分多钟,改为子查询之后执行时间只需要六七秒。
线上之前用sqlserver需要14~17s的查询,改成clickhouse只需要两三秒了,数据量是三千多万。

相关文章:

Clickhouse使用笔记

clickhouse官方文档:https://clickhouse.com/docs/zh/sql-reference/data-types/decimal 一,建表 create table acitivity_user_record ( id String DEFAULT generateUUIDv4(), -- 主键自增 activityId String, userId String, userName Nullable(Strin…...

基于高通主板的ARM架构服务器

一、ARM架构服务器的崛起 (一)市场需求推动 消费市场寒冬,全球消费电子需求下行,服务器成半导体核心动力之一。Arm 加速布局服务器领域,如 9 月推出 Neoverse V2。长久以来,x86 架构主导服务器市场&#…...

AV1 Bitstream Decoding Process Specification--[2]:符号和缩写术语

原文地址:https://aomediacodec.github.io/av1-spec/av1-spec.pdf没有梯子的下载地址:AV1 Bitstream & Decoding Process Specification摘要:这份文档定义了开放媒体联盟(Alliance for Open Media)AV1视频编解码器…...

【Python爬虫系列】_022.异步文件操作aiofiles

课 程 推 荐我 的 个 人 主 页:👉👉 失心疯的个人主页 👈👈入 门 教 程 推 荐 :👉👉 Python零基础入门教程合集 👈👈虚 拟 环 境 搭 建 :👉👉 Python项目虚拟环境(超详细讲解) 👈👈PyQt5 系 列 教 程:👉👉 Python GUI(PyQt5)文章合集 👈👈...

GD32E230 RTC报警中断功能使用

GD32E230 RTC报警中断使用 GD32E230 RTC时钟源有3个,一个是内部RC振动器产生的40KHz作为时钟源,或者是有外部32768Hz晶振.,或者外部高速时钟晶振分频作为时钟源。 🔖个人认为最难理解难点的就是有关RTC时钟异步预分频和同步预分频的计算。在对…...

C/C++语言基础--从C到C++的不同(上)

本专栏目的 更新C/C的基础语法,包括C的一些新特性 前言 之前更新的C语言,感谢大家的点赞收藏关注,接下来我们逐步也开始更新C;C语言后面也会继续更新知识点,如内联汇编;本人现在正在写一个C语言的图书管理系…...

自动驾驶自动泊车场景应用总结

自动泊车技术是当前智能驾驶技术的一个重要分支,其目标是通过车辆自身的感知、决策和控制系统,实现车辆在有限空间内的自主泊车操作。目前自动泊车可分为半自动泊车、全自动泊车、记忆泊车、自主代客泊车四种产品形态,其中, 根据搭载传感器和使用场景的不同,全自动泊车又可…...

redis常见的数据类型?

参考:一文读懂Redis五种数据类型及应用场景 - 知乎 (zhihu.com) String 类型 String 类型:Redis 最基本的数据类型,它是二进制安全的,意味着你可以用它来存储任何类型的数据,如图片、序列化对象等。使用场景&#xff…...

TCP Analysis Flags 之 TCP ZeroWindow

前言 默认情况下,Wireshark 的 TCP 解析器会跟踪每个 TCP 会话的状态,并在检测到问题或潜在问题时提供额外的信息。在第一次打开捕获文件时,会对每个 TCP 数据包进行一次分析,数据包按照它们在数据包列表中出现的顺序进行处理。可…...

[产品管理-16]:NPDP新产品开发 - 14 - 产品创新流程 - 产品创新流程模型比较:门径、IPD、精益生产、敏捷、系统工程、设计思维、精益创业

目录 一、精益开发与敏捷开发的比较 1、核心理念 2、实践方式 3、应用场景 4、总结 二、门径流程 VS 敏捷方法 1、定义与特点 门径管理流程 敏捷方法 2、应用场景 3、比较 4、总结 三、集成产品开发 VS 系统工程 VS 设计思维 1、集成产品开发(IPD&…...

postgresql 导出CSV格式数据

方法一 psql -c 导出 导出的文件存放在执行psql的客户端。 psql -h 127.0.0.1 -p 5432 -U postgres postgres -Atqc "select oid,relname,relnamespace from tmp_t0 " --csv -o /tmp/test.csv方法二 psql -f 导出 导出的文件存放在执行psql的客户端。 如果查询很长…...

【C++】STL--string(上)

前言 C语言中,字符串是以\0结尾的一些字符的集合,为了操作方便,C标准库中提供了一些str系列的库函数,但是这些库函数与字符串是分离开的,不太符合OOP的思想,而且底层空间需要用户自己管理,稍不留…...

【C++】Stack

个人主页~ Stack 一、Stack的介绍和使用1、stack的介绍2、stack的使用3、stack的模拟实现 二、容器适配器1、什么是适配器2、容器适配器的使用 三、deque1、原理介绍2、deque的使用3、deque的缺陷 一、Stack的介绍和使用 1、stack的介绍 stack详细解释 stack是一种容器适配器…...

“药乡”怀化,按下产业向海“加速键”

怀化,这座被火车拖来的城市,拥有什么独特的产业优势吗? 很多人不知道的是,怀化在整个医药领域可是大名鼎鼎的“中国道地药材之乡”,中药材资源蕴藏量居湖南省第一。尤其是怀化靖州,这里年集散茯苓11万吨&a…...

【AWDP】 AWDP 赛制详解应对方法赛题实践 量大管饱

文章首发于【先知社区】:https://xz.aliyun.com/t/15535 一、AWDP概述 AWDP是什么 AWDP是一种综合考核参赛团队攻击、防御技术能力、即时策略的攻防兼备比赛模式。每个参赛队互为攻击方和防守方,充分体现比赛的实战性、实时性和对抗性,对参…...

读构建可扩展分布式系统:方法与实践05分布式缓存

1. 分布式缓存 1.1. 缓存存在于应用程序的许多地方 1.1.1. 行应用程序的CPU具有高速多级硬件缓存,可以减少相对较慢的主内存访问 1.1.2. 数据库引擎可以利用主内存来缓存数据存储的内容,这样在许多情况下查询就可以不用访问速度相对较慢的磁盘 1.2. …...

【逐行注释】自适应Q和R的AUKF(自适应无迹卡尔曼滤波),附下载链接

文章目录 自适应Q的KF逐行注释的说明运行结果部分代码各模块解释 自适应Q的KF 自适应无迹卡尔曼滤波(Adaptive Unscented Kalman Filter,AUKF)是一种用于状态估计的滤波算法。它是基于无迹卡尔曼滤波(Unscented Kalman Filter&am…...

OpenCV高阶操作

在图像处理与计算机视觉领域,OpenCV(Open Source Computer Vision Library)无疑是最为强大且广泛使用的工具之一。从基础的图像读取、 1.图片的上下,采样 下采样(Downsampling) 下采样通常用于减小图像的…...

Vue中的防抖和节流是什么,它们的作用是什么?

在Vue.js中,防抖(debounce)和节流(throttle)是两种常用的性能优化技术,主要用于处理高频事件,如窗口滚动、窗口大小调整、键盘输入等。 **防抖(Debounce)**:…...

C++的类与对象中(主讲默认成员函数)

目录 1.类的默认成员函数 2.构造函数 1.全缺省构造函数 2.第7点中的对自定义类型的成员变量构造(调用编译器自动生成的默认构造函数) 3.析构函数 4.拷贝构造函数 5.运算符重载 1.概念 2.赋值运算符重载 6.const成员函数 1.类的默认成员函数 默…...

图图的嗨丝造相-Z-Image-Turbo作品集:多场景渔网袜AI图像生成,每一张都惊艳

图图的嗨丝造相-Z-Image-Turbo作品集:多场景渔网袜AI图像生成,每一张都惊艳 1. 模型核心能力展示 1.1 专业领域定位 图图的嗨丝造相-Z-Image-Turbo是专精于大网渔网袜图像生成的AI模型,基于Z-Image-Turbo框架开发,通过LoRA技术…...

with open方法详解

Python with open 方法详解 with open 是 Python 中操作文件最推荐、最安全的写法,核心作用是自动管理文件资源,不用手动关闭文件,也能避免文件泄露、数据丢失等问题。 一、基础语法 python 运行 # 标准格式 with open(文件路径, 模式, 编码) as 变量名:# 缩进内写文件操…...

seo代理与网站优化公司的区别在哪里

SEO代理与网站优化公司的区别在哪里 在当今竞争激烈的互联网市场中,各种形式的数字营销服务层出不穷。其中,SEO(搜索引擎优化)和网站优化服务尤为重要。许多人对于SEO代理和网站优化公司的区别却一知半解。本文将详细探讨这两者的…...

从魔方到算法:用Python一步步实现Kociemba二阶段算法(附完整代码)

从魔方到算法:用Python实现Kociemba二阶段求解器 魔方作为经典的智力玩具,其求解算法一直是计算机科学和数学交叉领域的研究热点。本文将带你从零开始,用Python实现经典的Kociemba二阶段算法,不仅理解其数学原理,更能获…...

QY-DG800E实训台玩转PLC:一个按钮实现电机正反转的几种编程思路

QY-DG800E实训台玩转PLC:一个按钮实现电机正反转的几种编程思路 在工业自动化控制领域,电机正反转控制是最基础也最经典的应用场景之一。传统的继电器控制电路通常需要两个独立按钮分别控制正转和反转,但在实际工程中,我们常常会遇…...

嵌入式智能饮水机设计:STM32与语音交互实践

1. 项目背景与需求分析作为一名嵌入式开发工程师,我最近完成了一个专门为视障人士设计的智能饮水机项目。这个项目的灵感来源于我的一位视障朋友在使用传统饮水机时遇到的种种不便——他常常因为无法判断水温而被烫伤,或者因为不知道水杯是否对准出水口而…...

【超详细】步进电机选型避坑指南:这5个参数没搞懂,买回来就是废铁

文章目录一、保持转矩:最大误区是把它当成“工作力矩”1.1 保持转矩的物理含义:通电锁住时的最大力矩,不是转起来的力矩1.2 选型时保持转矩到底该怎么用:经验系数法1.3 实测对比:标称力矩相同的两台电机,实…...

嵌入式开发自动化实践与效率提升

1. 嵌入式开发中的重复工作困境作为一名在嵌入式领域摸爬滚打多年的工程师,我深知这个行业的痛点——那些看似简单却消耗大量精力的重复性工作。从版本构建到代码移植,从环境配置到测试验证,这些工作就像影子一样伴随着每个开发者的日常。刚入…...

从防御者视角看攻击:我用AntSword复现了一次真实的Webshell入侵,并总结了5条防护建议

从防御者视角拆解Webshell攻击链:基于AntSword的实战防护指南 当服务器日志里突然出现异常的PHP文件访问记录,或是网站目录下凭空多出一个陌生的shell.php时,很多运维团队才意识到防线早已被突破。去年某电商平台的用户数据泄露事件&#xff…...

从输入法到天气预测:一阶与高阶马尔科夫链的建模实战

1. 马尔科夫链:从输入法到天气预测的数学魔法 第一次听说马尔科夫链这个词时,我正盯着手机输入法发呆。当时在打"奥利奥"这个词,刚输入"ao"就自动联想出"奥利奥",而前一天我还在为打不出这个词抓耳…...