clickhouse日常使用

ck高阶函数运用

文档

https://clickhouse.com/docs/zh/sql-reference/aggregate-functions/reference/count

数组函数

对数据中的特殊字符串进行替换,并根据分隔符进行切割,过滤掉为空的数组数据,对数据元素进行排序,在用分隔符拼接。

arrayStringConcat(  arraySort(   arrayDistinct(  arrayFilter(o -> o != '' , splitByChar(';',   assumeNotNull(REPLACE(POOR_APP_CATEGORY, ',', ';'))) )   )  ) , '; ' ) as "质差应用"

arraySort支持自定义排序

参数 1:lambda表达式,- 表示!asc排序方式

参数 2:数组

参数 3:权值顺序

select arraySort((x, y) -> y, arrayDistinct(  arrayFilter(o -> o != '' , splitByChar(';', '优;中;差'))), [0, 1, 2]);
['优','中','差']
select arraySort((x, y) -> - y, arrayDistinct(  arrayFilter(o -> o != '' , splitByChar(';', '优;中;差'))), [0, 1, 2]);
['差','中','优']

argMax、argMin函数:获取某个列维度,对应的那一行数据。

获取时间最新的预警数据:

    select PREWARN_ID,
           max(CREATE_DATE),
           argMax(END_DATE, CREATE_DATE) as END_DATE,
           argMax(CHECK_DATE, CREATE_DATE) as CHECK_DATE,
           argMax(STATUS, CREATE_DATE) as STATUS,
           argMax(MODIFY_USER, CREATE_DATE) as MODIFY_USER,
           argMax(WARN_TIMES, CREATE_DATE) as WARN_TIMES,
           MAX(RANK) as RANK, MAX(CITY) as CITY
    from ADO_SA_OVERSEA_BUSINESS.T_PRE_WARNING_STATUS
    group by PREWARN_ID 
    HAVING STATUS = 0
    ORDER BY WARN_TIMES, CHECK_DATE, PREWARN_ID;

注意点:
该函数取不到null,会根据列维度排序,取最大(小)的不为空数据,所以请考虑数据中是否有null数据。
如果有,建议使用 如下判断数据的形式进行规避

select argMax(if(STATUS is null, '', STATUS), CREATE_DATE) as STATUS

问题

左连接取右表有默认值

select l.*, r.* from
( select 'a' as a ) l
left join
( select '1' as a, 1 as b ) r
on l.a = r.a;

配置:

select l.*, r.* from
( select 'a' as a ) l
left join
( select '1' as a, 1 as b ) r
on l.a = r.a SETTINGS join_use_nulls = 1;
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 点击House-keeper是一款专为ClickHouse设计的管理工具,它可以帮助用户快速安全地管理ClickHouse集群,提高工作效率。它能够实现节点添加、集群状态监控、性能指标查看、资源管理、数据备份和恢复等功能。 ### 回答2: ClickHouse-Keeper 是一个用于管理和监控 ClickHouse 的开源管理工具。它可以自动进行 ClickHouse 集群的日常任务管理和维护,提高 ClickHouse 集群的稳定性和可靠性。 ClickHouse-Keeper 的主要功能包括: 1. 定期任务管理:ClickHouse-Keeper 可以执行定期的任务,例如表的压缩、合并、优化等。通过自动化这些任务,可以减少手动干预的需求,提高集群的性能和效率。 2. 数据修复和一致性校验:ClickHouse-Keeper 可以监测和修复可能存在的数据损坏或不一致的情况。它可以检查数据的完整性,并尽可能地自动修复问题,确保数据的准确性和可用性。 3. 空间管理:ClickHouse-Keeper 可以监控和管理 ClickHouse 集群的存储空间。它可以自动处理数据过期、删除旧数据,并保持集群的稳定和高效。 4. 故障恢复和容错处理:ClickHouse-Keeper 可以监控 ClickHouse 节点的健康状态,并及时发现并处理可能的故障。它可以自动进行故障恢复和容错处理,以确保集群的可用性和稳定性。 总之,ClickHouse-Keeper 是一个强大的工具,可以简化 ClickHouse 集群的管理和维护工作。它提供了自动化的任务管理、数据修复、空间管理和容错处理等功能,帮助用户提高集群的性能和可靠性。 ### 回答3: ClickHouse Keeper是一个用于管理和监控ClickHouse数据库的工具。ClickHouse是一款高性能、可扩展的列式数据库管理系统,用于处理海量数据。 ClickHouse Keeper具有以下几个主要的功能和特点: 1. 数据库管理:ClickHouse Keeper可以提供对ClickHouse数据库的全面管理。它可以创建、删除和修改数据库,还可以管理数据库的用户权限和表结构。 2. 数据监控:ClickHouse Keeper可以实时监控ClickHouse数据库的运行状态。它可以监测系统的负载情况、查询的执行情况、数据写入和读取的速度等指标,并生成相应的统计图表和报告。这样可以帮助用户了解数据库的性能状况,及时发现和解决潜在的问题。 3. 数据备份和恢复:ClickHouse Keeper可以定期对ClickHouse数据库进行备份,并可以按需恢复数据。它支持全量备份和增量备份,并提供了灵活的备份策略设置。这样可以保证数据的安全性和可靠性。 4. 自动化运维:ClickHouse Keeper可以通过设置自动化任务,实现对ClickHouse数据库的自动化运维。它可以定期执行数据库维护操作,例如数据的优化和碎片整理,以提高数据库的性能和效率。同时,它还可以根据用户的需求,自动执行数据导入和导出操作,实现数据的高效管理和迁移。 总之,ClickHouse Keeper是一个功能强大、易于使用的工具,可以帮助用户更好地管理和监控ClickHouse数据库,提高数据处理的效率和可靠性。它的出现为ClickHouse数据库使用者提供了便利和保障,使得使用和管理ClickHouse数据库变得更加简单和可靠。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值