Clickhouse在画像场景如何快速计算人群的年龄分布

简介: 在画像场景场景中,对不同年龄段的人群进行计数是一个常见的操作,如何使用Clickhouse快速的计算出人群的年龄分布情况呢?

背景

Clickhouse是一个性能强悍的OLAP系统,经常被用于用户画像等场景。

在用户画像场景场景中,经常需要对不同年龄段的人群进行计数。比如需要对购买啤酒的男士的年龄分布情况进行分析,而年龄常常需要进行分段,比如划分为18岁以下,18-25岁,25-35岁等年龄段。这种情况下,如何用EMR-Clickhouse优雅的计算出结果呢?


示例

首先模拟一张表,uid代表账户,name代表名字,age代表年龄,为了方便,其他字段省略。

CREATETABLE default.sample(    `uid` String,    `name` String,    `age` UInt64
)ENGINE = MergeTree()ORDERBY uid


然后模拟一些数据,插入表中。


insertinto sample values('ab2','husky',14),('ab1','sam',25),('a4b','jim',19),('44b','jane',29),('pa4b','dany',35),('pgb','james',56),('ppb','leo',76)


通过使用 roundDown(x, [array]) 函数进行查询。

SELECTcount(uid)AS counts,    tmp_age AS age
FROM(SELECT        roundDown(age,[0,18,25,35,45,55,65,75,85,120])AS tmp_age,        uid
FROM sample
)GROUPBY age
ORDERBY age ASC


可以看到,查询结果已经分类为0-18岁、18-25岁、25-35岁等区间,可以直接使用工具进行报表展示。

┌─counts─┬─age─┐
10118225135155175└────────┴─────┘



相关资料

可以通过官网看到roundDown相关的使用介绍。

roundAge也具有相似的效果,但是并不灵活。

https://clickhouse.com/docs/en/sql-reference/functions/rounding-functions/



钉钉扫描下方二维码加入EMR-Clickhouse产品交流群一起参与讨论~

image.png

目录
相关文章
|
1月前
|
SQL 存储 OLAP
ClickHouse 在什么场景下才管用?
ClickHouse 是一款以速度快著称的分析型数据库,尤其在列式宽表遍历方面表现出色。然而,面对复杂查询和关联运算时,ClickHouse 的性能急剧下降,甚至无法执行某些任务。相比之下,esProc SPL 通过更简洁的 SPL 语法和强大的优化能力,在各种复杂场景下均表现出色,全面超越 ClickHouse。实际案例显示,esProc SPL 在处理大规模数据时,性能提升可达数十倍。
|
6月前
|
存储 分布式计算 Hadoop
ClickHouse(01)什么是ClickHouse,ClickHouse适用于什么场景
ClickHouse是一款高性能的列式存储OLAP数据库,由俄罗斯的Yandex公司开发,用于在线分析处理(OLAP)。它提供秒级大数据查询,适用于商业智能、广告流量等领域。ClickHouse速度快的原因包括列式存储、数据压缩、向量化执行和多线程分布式处理。然而,它不支持事务,不适合OLTP操作。相比Hadoop生态中的查询引擎,ClickHouse在大量数据查询上表现出色。一系列的文章详细介绍了ClickHouse的各个方面,包括安装、表引擎和使用场景。
385 0
ClickHouse(01)什么是ClickHouse,ClickHouse适用于什么场景
|
SQL 分布式计算 测试技术
从 Clickhouse 到阿里云数据库 SelectDB 版内核 Apache Doris:有赞业务场景下性能测试与迁移验证
从 Clickhouse 到阿里云数据库 SelectDB 版内核 Apache Doris 迁移实践:有赞查询提速近 10 倍,OLAP 分析更实时高效!
从 Clickhouse 到阿里云数据库 SelectDB 版内核 Apache Doris:有赞业务场景下性能测试与迁移验证
|
SQL 分布式计算 测试技术
从 Clickhouse 到 Apache Doris:有赞业务场景下性能测试与迁移验证
当前,电商运营的主要痛点不仅来自多变的市场和客户需求,也受困于碎片化用户触达等带来的竞争与挑战。为了深度挖掘用户价值、培养用户忠诚度、实现业绩增长,有赞为商家搭建了全方位 OLAP 分析系统,提供实时与离线分析报表、智能营销与人群圈选等 SaaS 服务。本文将详细介绍有赞从 Clickhouse 至 Apache Doris 的迁移规划和性能对比测试实践,分享如何基于 Apache Doris 统一 OLAP 技术栈,并满足庞大数据体量下的实时分析与极速查询,最终有赞在多个场景下实现查询平均提速 200% 。
349 0
|
存储 搜索推荐 关系型数据库
55.【clickhouse】ClickHouse从入门到放弃-概念场景
【clickhouse】ClickHouse从入门到放弃-概念场景
55.【clickhouse】ClickHouse从入门到放弃-概念场景
|
消息中间件 SQL 搜索推荐
干货|从 ClickHouse 到 ByteHouse:实时数据分析场景下的优化实践
干货|从 ClickHouse 到 ByteHouse:实时数据分析场景下的优化实践
|
搜索推荐 OLAP
Clickhouse在画像场景如何对人群分布情况进行N等分
Clickhouse是一个性能强悍的OLAP系统,经常被用于用户画像等场景。 在画像场景中,经常需要按照某一指标对人群进行N等分,然后对每个人根据指标所处的范围打上对应标签。 本文主要介绍如何通过Clickhouse对人群分布情况进行N等分。
454 0
Clickhouse在画像场景如何对人群分布情况进行N等分
|
存储 SQL JSON
ClickHouse:抓住你的每一个目标用户,人群圈选业务的大杀器
随着数据时代的发展,各行各业数据平台的体量越来越大,用户个性化运营的诉求也越来越突出,用户标签系统,做为个性化千人千面运营的基础服务,应运而生。如今,几乎所有行业(如互联网、游戏、教育等)都有实时精准营销的需求。针对复杂条件过滤的场景,ClickHouse对多条件筛选流程做出优化,扫描的数据量更小,性能也较ES而言更高效。
6117 0
ClickHouse:抓住你的每一个目标用户,人群圈选业务的大杀器
|
数据库 数据格式
使用ClickHouse实现,累计用户计算模型
问题描述:根据用户标识和历史库的匹配结果,识别是否是新增用户,单位:天 要求:历史库每天累加更新,要考录用户历史数据库的幂等性及回补数据策略 输出: 用户pushid pushid对应的uid(如果当天没有没有登录就没有对应的pushid则从历史库中匹配) pushid当天和uid是否有对应关系 用户新增时间 用户历史所有投资次数 当天用户投资次数 用户每次投资时间(rechargeTime)   说明: 用户标识有两个 pushid、uid,pushid表示用户的注册id,登录的时候才会存在,uid是用户访问的cookie(会频繁变化)。
3871 0
|
5月前
|
存储 关系型数据库 数据库
【DDIA笔记】【ch2】 数据模型和查询语言 -- 多对一和多对多
【6月更文挑战第7天】该文探讨数据模型,比较了“多对一”和“多对多”关系。通过使用ID而不是纯文本(如region_id代替"Greater Seattle Area"),可以实现统一、避免歧义、简化修改、支持本地化及优化搜索。在数据库设计中,需权衡冗余和范式。文档型数据库适合一对多但处理多对多复杂,若无Join,需应用程序处理。关系型数据库则通过外键和JOIN处理这些关系。文章还提及文档模型与70年代层次模型的相似性,层次模型以树形结构限制了多对多关系处理。为克服层次模型局限,发展出了关系模型和网状模型。
60 6
下一篇
无影云桌面