首页 > 其他分享 >[clickhouse] Clickhouse 关键特性的版本支持与演变

[clickhouse] Clickhouse 关键特性的版本支持与演变

时间:2024-09-29 18:44:31浏览次数:1  
标签:count clickhouse Feature SELECT Clickhouse 版本 com select

clickhouse 21.10

Feature : UDF

  • 用户可通过添加lambda表达式,创建自定义Function
CREATE FUNCTION linear_equation AS (x, k, b) -> k*x + b;
SELECT number, linear_equation(number, 2, 1) FROM numbers(3);

CREATE FUNCTION parity_str AS (n) -> if(n % 2, 'odd', 'even');
SELECT number, parity_str(number) FROM numbers(3);

Feature : intersect

  • 求多个数据集在某一维度上的交集,适合在用户分群等类似业务场景使用
select count( 1) from (
  select id as create_user from app.user_model  where 1=1  and product_count>=10 and product_count<=300   
  intersect 
  select create_user from app.work_basic_model  where total_uv>=100 and total_uv<=350 
  intersect
  select create_user  from app.work_basic_model  where total_uv>=200 and total_uv<=350 
)

类似:

with 
    (select groupUniqArray(u_i)  from (select id as u_i from (select *from app.user_model  where 1=1  and product_count>=10 and product_count<=300    ) )) as u0, 
    (select groupUniqArray(create_user)  from (select create_user from (select * from app.work_basic_model  where total_uv>=100 and total_uv<=350    ) )) as u1 ,
    (select groupUniqArray(create_user)  from (select create_user from (select * from app.work_basic_model  where total_uv>=200 and total_uv<=350    ) )) as u2
select length(arrayIntersect(u0,u1,u2)) as u

Feature : except

用第一个查询子集与后面所有子集求差集

select arrayJoin([1,2,3,4]) 
except 
select arrayJoin([1,2]) 
except 
select arrayJoin([4,5])

Feature : leftPad/rightPad(字符串左/右补齐)

  • 可用于对某些敏感信息进行脱敏处理
SELECT 
  leftPad(substring(phone,-3,3), length( phone ), '*') 
from  (select '13126966152' phone)

Feature : splitByRegexp

  • 按照正则表达式对文本进行分割,分割后返回一个数组
-- 提取html中的所有去标签后的文本信息
select 
  splitByRegexp('<[^<>]*>', x) 
from (select arrayJoin(['<h1>hello<h2>world</h2></h1>', 'gbye<split>bug']) x) 

Feature : mapContains/mapKeys/mapValues

  • 新增map数据类型相关处理函数
select map( 'aa', 4, 'bb' , 5) as m, mapContains(m, 'aa'),mapContains(m, 'cc'), mapKeys(m), mapValues(m)

Feature : countMatches

  • 基于正则表达式统计匹配数
select countMatches('foo.com bar.com baz.com bam.com', '([^. ]+)\.([^. ]+)')

Feature : accurateCastOrNull

  • 对字段值进行类型转换校验,转换成功返回转换后的类型数据,否则Null
SELECT accurateCastOrNull(2, 'Int8'), accurateCastOrNull('ss', 'Int8')

Feature : countSubstrings/countSubstringsCaseInsensitive

  • 计算某个字符串中包含特定字符的数量
select countSubstrings('com.foo.com.bar.com', 'com') ,countSubstringsCaseInsensitive('BaBaB', 'A')

X 参考文献

标签:count,clickhouse,Feature,SELECT,Clickhouse,版本,com,select
From: https://www.cnblogs.com/johnnyzen/p/18440585

相关文章

  • ClickHouse、Doris、 Impala等MPP架构详解
    我们常用的大数据计算引擎有很多都是MPP架构的,像我们熟悉的Impala、ClickHouse、Druid、Doris等都是MPP架构。采用MPP架构的很多OLAP引擎号称:亿级秒开。本文分为三部分讲解,第一部分详解MPP架构,第二部分剖析MPP架构与批处理架构的异同点,第三部分是采用MPP架构的OLAP引擎介绍。......
  • 解决:PC微信弹窗《当前客户端版本过低,请前往应用商店升级到最新版本客户端后再登录》
    目录1.背景2.利用cheatEngine直接修改内存3.利用Python代码直接修改内存1.背景虽然人类都是喜新厌旧的,但也不是什么东西都是新的好。今天换了台服务器,发现正常使用微信,弹窗提醒说版本太低了,根本不给登录。没办法啊,机器人只兼容这个版本的,只能到处找解决方案了,没......
  • PbootCMS稳妥的手动升级PbootCMS系统到最新版本方法
    当版本跨度较大且涉及大量文件时,直接使用后台在线更新可能会导致文件下载失败等问题。为了确保顺利升级并避免逐一升级数据库脚本的麻烦,可以采用以下手动升级方案:步骤详解下载最新版PbootCMS到官方网站下载最新版PbootCMS。注意不可跨越大版本,例如从1.x版本只能先升级到1.4......
  • 链表分割 1.2版本
    现有一链表的头指针ListNode* pHead,给一定值x,编写一段代码将所有小于x的结点排在其余结点之前,且不能改变原来的数据顺序,返回重新排列后的链表的头指针。思路:大致可以分为两个区域来存储数据:区域一存储小于36的节点,区域二存储大于36的节点.可以将这两个区域视为两个链表......
  • Karmada新版本发布,支持联邦应用跨集群滚动升级
    本文分享自华为云社区《Karmadav1.11版本发布!新增应用跨集群滚动升级能力》,作者:云容器大未来。Karmada是开放的多云多集群容器编排引擎,旨在帮助用户在多云环境下部署和运维业务应用。凭借兼容Kubernetes原生API的能力,Karmada可以平滑迁移单集群工作负载,并且仍可保持与K......
  • 哔咔漫画官方下载最新版本-哗咔漫画app下载免费V8.7.7-猫扑网
    哔咔漫画简介:在数字娱乐日益丰富的今天,哔咔漫画App作为一款专为漫画爱好者打造的应用,以其丰富的资源、优质的服务和良好的用户体验,迅速赢得了广大用户的青睐。本文将带您深入了解哔咔漫画App的独特魅力,以及它如何成为二次元文化爱好者们不可或缺的阅读伙伴。哔咔漫画官方入口:http......
  • 哔咔漫画最新版2024下载官网版-哔咔漫画2024最新版本永久免费v2.2.1.3-百步下载
    哔咔漫画简介:在当今这个数字化日益发展的时代,二次元文化已经成为许多年轻人的精神食粮之一。哔咔漫画App,作为一款集成了大量正版漫画资源的移动应用,凭借其丰富的内容、优质的用户体验和便捷的操作方式,迅速成为了漫画爱好者们的首选平台。本文将带你深入了解哔咔漫画App的魅力所在......
  • Volcano新版本发布:10大功能提升统一调度和细粒度资源管理能力
    本文分享自华为云社区《Volcanov1.10.0版本正式发布!10大功能全面提升统一调度和细粒度资源管理能力》,作者:云容器大未来 近日,Volcano社区v1.10.0版本[1]正式发布(Branch:release-1.10[2]),此次版本增加了以下新特性:新增队列优先级设置策略支持细粒度的GPU资源共享与回收支持Po......
  • STL05——手写一个简单版本的红黑树(500+行代码)
    STL05——手写一个简单版本的红黑树题目描述在STL中,红黑树是一个重要的底层数据结构,本题需要设计一个RedBlackTree类,实现如下功能:1、基础功能构造函数:初始化RedBlackTree实例析构函数:清理资源,确保无内存泄露2、核心功能在RedBlackTree中插入一个节点在RedBlack......
  • Pbootcms程序模板被黑有可能是你的JS版本问题!
    当PbootCMS模板出现被黑的情况时,除了考虑程序本身的漏洞外,前端资源(如JS库)也可能成为攻击的入口。以下是具体的防护措施和建议:防护方法检查前端资源版本:确认前端JS库的版本是否过低。过低的版本可能存在已知的安全漏洞。更新前端JS库到最新版本,确保安全性和兼容性。备......