clickhouse
文章平均质量分 77
为笔者clickhouse实践总结
扫地增
莫问,问就是无敌
展开
-
【clickhouse实践】clickhouse如何在查询中对某字段空值设置默认值及对Nullable值的处理
IFNULL函数用于将一个可空性列中的空值替换为指定的默认值。是要检查的列名,是用于替换空值的默认值。这些是笔者在生产实践中的学习的尝试的一些总结实践,特此备忘,也希望对大家有所帮助。原创 2023-07-04 11:45:39 · 5643 阅读 · 1 评论 -
Linux clickhouse单机部署
了解更多登录参数参见笔者之前的文章。user.xml配置密码,参见。原创 2023-06-15 16:25:29 · 371 阅读 · 1 评论 -
【clickhouse实践】clickhouse中如何实现ROW_NUMBER() OVER(PARTITION BY ‘xxx‘ ORDER BY ‘xxx‘ DESC/ASC)
0 背景HIVE中我们经常使用窗口函数中的排序函数ROW_NUMBER() OVER(PARTITION BY 'xxx' ORDER BY 'xxx' DESC/ASC)对数据集生成顺序编号或者进行数据去重的操作。然而在Clickhouse中没有提供该功能的函数,那么在clickhouse我们要想实现类似的功能我们应该如何实现呢?今天我们就来用实例说明下在clickhouse该如何实现ROW_NUMBER()功能。1 数据准备1.1 Clickhouse数据准备建表语句:CREATE TAB原创 2021-07-14 17:18:57 · 5355 阅读 · 5 评论 -
【clickhouse实践】关于clickhouse对空值的处理总结
1 背景在工作中,我们在使用spark dataset向clickhouse向表中批量插入数据时,经常遇到某个字段为NULL导致导数任务失败。出现如下报错:而我们在clickhouse按照正常方式建表时,然而我们并不能保证每条数据的每个字段都是非NULL值。...原创 2021-07-13 11:28:55 · 12258 阅读 · 1 评论 -
【用户画像】Clickhouse位图函数实践总结
1 位图概念说到位图我们就不得不从位算开始,虽然大部分语言都有提供位运算,但是,并没有提供一种类似于位数组的类型,要使用这些位运算,我们只能通过数字类型来实现,比如Java中的int/long等类型。而这些数字类型的数组,我们一般可以称之为“位图”(BitMap)。位图bitmap 是一种非常常用的结构,在索引,数据压缩等方面有广泛应用。所谓的 bitmap 就是用一个 bit 位来标记某个元素对应的 value, 而 key 即是该元素。由于采用了 bit 为单位来存储数据,因此在存储空间方面,可以原创 2021-07-12 17:36:08 · 3421 阅读 · 3 评论 -
ClickHouse&Phoenix实践——ClickHouse&Phoenix可视化工具DBeaver安装使用小记
DBeaver安装双击下载的安装包将DBeaver拖到Applications连接文件夹中进行安装创建链接创建Phoenix链接完毕之后控制台打开,点击来接器,发现他是个超级强大的数据库客户端皮肤,可惜的是不支持我们的MongoDB。在Hadoop/Bigdata栏目中找到我们的phoenix选中下一步设置JDBC连接和客户端驱动修改驱动信息和下载驱动,也可以直接添加双击version会出现下拉选项找到合适选项>>下载,等下载完成即可,这玩意下载比较慢,如果想原创 2021-06-11 15:29:47 · 700 阅读 · 5 评论 -
clickhouse实践——clickhouse启动参数使用总结
这个是笔者使用clickhouse无法换行的问题时,研究了其客户端的使用参数。显式参数启动:示例:clickhouse-client -u bd --password xxx参数说明:参数缩写说明--host-h服务端的 host名称, 默认是 ‘localhost’。 您可以选择使用host名称或者IPv4 或IPv6地址--port连接的端口,默认值: 9000。注意 HTTP 接口以及TCP 原生接口是使用不同端口的--user-u用户名。.原创 2021-06-09 10:01:27 · 1908 阅读 · 9 评论 -
Clickhouse 类型转换函数实战总结
数据精度丢失问题当把一个值从一个类型转换为另外一个类型的时候,你需要注意的是这是一个不安全的操作,可能导致数据精度的丢失。数据精度丢失一般发生在你将一个大的数据类型转换为小的数据类型的时候,或者你把两个不同的数据类型相互转换的时候。ClickHouse和C++有相同的类型转换行为。toInt(8|16|32|64) 转换一个输入值为Int类型函数说明:toInt8(expr) — 结果为Int8数据类型。toInt16(expr) — 结果为Int16数据类型。toInt32(expr) —原创 2021-05-21 18:00:16 · 12269 阅读 · 11 评论 -
Clickhouse 算术函数实战总结
对于所有算术函数,结果类型为结果所在的最小数值类型(如果存在这样的类型)。最小数值类型是根据数值的位数,是否有符号以及是否是浮点类型而同时进行的。如果没有足够的位,则采用最高位类型。toTypeName(operator) 查看数据类型函数说明:函数用途举例结果toTypeName(operator)返回数据的类型 ,operator的值可以是任何类型toTypeName(toDate(‘2018-12-24’))返回 Date函数实例:SELECT toTy.原创 2021-05-20 17:31:11 · 2897 阅读 · 1 评论 -
Clickhouse--数据输入输出格式实战
ClickHouse 可以接受多种数据格式,可以在 (INSERT(输入)) 以及 (SELECT(输出)) 请求中使用。下列表格列出了支持的数据格式以及在 (INSERT(输入)) 以及 (SELECT(输出)) 请求中使用它们的方式FormatInputOutputTabSeparated✔✔TabSeparatedRaw✔✔TabSeparatedWithNames✔✔TabSeparatedWithNamesAndTypes✔✔T.原创 2021-05-14 16:07:21 · 1609 阅读 · 3 评论 -
clickhouse中如何查询分区表分区及表容量查询
clickhouse中如何查询分区表分区及表容量–这个问题相信大家在使用clickhouse分区表时都会经常遇到,其实clickhouse表的元数据信息都存储在system.parts表中,可以通过该表对clickhouse上所有表进行查询表容量大小、行数、压缩率及分区信息等进行查询了解。1. system.parts表schema解析system.parts表schema说明如下:`partition`(String)-- 分区名称。`name`(String)-- 数据部分的名称。`part_原创 2021-04-26 18:26:31 · 20927 阅读 · 3 评论 -
Clickhouse 时间日期函数实战总结
注:所有的时间日期函数都可以在第二个可选参数中接受时区参数。示例:Asia / Yekaterinburg。在这种情况下,它们使用指定的时区而不是本地(默认)时区。仅支持与UTC相差一整小时的时区。localhost :) select toDateTime(146600280) AS time,toDateTime(146600280,'Asia/Yekaterinburg') AS time_asia,toDateTime(146600280,'US/Samoa') AS time_us,toDa.原创 2020-12-11 16:19:33 · 30061 阅读 · 2 评论 -
clickhouse分区相关操作小记
废话不多说直接上操作:创建分区表示例一:函数式分区Clickhouse> create table visits(userid int,visitdate date,website String) engine=MergeTree() PARTITION BY toYYYYMM(visitdate) order by userid; CREATE TABLE visits( `userid` int, `visitdate` date, `website` Str原创 2020-12-05 17:00:50 · 6585 阅读 · 2 评论 -
Clickhouse 表相关操作小记
运行环境:[xxx@xxx ~]$ cat /etc/centos-releaseCentOS Linux release 7.8.2003 (Core)查看clickhouse版本Clickhouse> select version(); SELECT version() ┌─version()─┐│ 20.5.2.7 │└───────────┘ 1 rows in set. Elapsed: 0.001 sec. clickhouse表操作建表Clickhou原创 2020-12-05 18:50:42 · 4967 阅读 · 3 评论 -
clickhouse 日期函数无效报错问题处理
clickhouse建表语句:CREATE TABLE test.user_action_log( `event_time` DateTime, `action` String, `user_id` String, `school_id` String, `uuid` String, `app_id` String, `student_id` String, `date_key` String)ENGINE = MergeTree()原创 2020-12-10 11:56:44 · 5257 阅读 · 1 评论