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

目录
相关文章
|
4月前
|
存储 分布式计算 Hadoop
ClickHouse(01)什么是ClickHouse,ClickHouse适用于什么场景
ClickHouse是一款高性能的列式存储OLAP数据库,由俄罗斯的Yandex公司开发,用于在线分析处理(OLAP)。它提供秒级大数据查询,适用于商业智能、广告流量等领域。ClickHouse速度快的原因包括列式存储、数据压缩、向量化执行和多线程分布式处理。然而,它不支持事务,不适合OLTP操作。相比Hadoop生态中的查询引擎,ClickHouse在大量数据查询上表现出色。一系列的文章详细介绍了ClickHouse的各个方面,包括安装、表引擎和使用场景。
213 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% 。
328 0
|
存储 搜索推荐 关系型数据库
55.【clickhouse】ClickHouse从入门到放弃-概念场景
【clickhouse】ClickHouse从入门到放弃-概念场景
55.【clickhouse】ClickHouse从入门到放弃-概念场景
|
消息中间件 SQL 搜索推荐
干货|从 ClickHouse 到 ByteHouse:实时数据分析场景下的优化实践
干货|从 ClickHouse 到 ByteHouse:实时数据分析场景下的优化实践
|
搜索推荐 OLAP
Clickhouse在画像场景如何对人群分布情况进行N等分
Clickhouse是一个性能强悍的OLAP系统,经常被用于用户画像等场景。 在画像场景中,经常需要按照某一指标对人群进行N等分,然后对每个人根据指标所处的范围打上对应标签。 本文主要介绍如何通过Clickhouse对人群分布情况进行N等分。
425 0
Clickhouse在画像场景如何对人群分布情况进行N等分
|
存储 SQL JSON
ClickHouse:抓住你的每一个目标用户,人群圈选业务的大杀器
随着数据时代的发展,各行各业数据平台的体量越来越大,用户个性化运营的诉求也越来越突出,用户标签系统,做为个性化千人千面运营的基础服务,应运而生。如今,几乎所有行业(如互联网、游戏、教育等)都有实时精准营销的需求。针对复杂条件过滤的场景,ClickHouse对多条件筛选流程做出优化,扫描的数据量更小,性能也较ES而言更高效。
6035 0
ClickHouse:抓住你的每一个目标用户,人群圈选业务的大杀器
|
数据库 数据格式
使用ClickHouse实现,累计用户计算模型
问题描述:根据用户标识和历史库的匹配结果,识别是否是新增用户,单位:天 要求:历史库每天累加更新,要考录用户历史数据库的幂等性及回补数据策略 输出: 用户pushid pushid对应的uid(如果当天没有没有登录就没有对应的pushid则从历史库中匹配) pushid当天和uid是否有对应关系 用户新增时间 用户历史所有投资次数 当天用户投资次数 用户每次投资时间(rechargeTime)   说明: 用户标识有两个 pushid、uid,pushid表示用户的注册id,登录的时候才会存在,uid是用户访问的cookie(会频繁变化)。
3846 0
|
3月前
|
存储 关系型数据库 数据库
【DDIA笔记】【ch2】 数据模型和查询语言 -- 多对一和多对多
【6月更文挑战第7天】该文探讨数据模型,比较了“多对一”和“多对多”关系。通过使用ID而不是纯文本(如region_id代替"Greater Seattle Area"),可以实现统一、避免歧义、简化修改、支持本地化及优化搜索。在数据库设计中,需权衡冗余和范式。文档型数据库适合一对多但处理多对多复杂,若无Join,需应用程序处理。关系型数据库则通过外键和JOIN处理这些关系。文章还提及文档模型与70年代层次模型的相似性,层次模型以树形结构限制了多对多关系处理。为克服层次模型局限,发展出了关系模型和网状模型。
44 6
|
3月前
|
XML NoSQL 数据库
【DDIA笔记】【ch2】 数据模型和查询语言 -- 概念 + 数据模型
【6月更文挑战第5天】本文探讨了数据模型的分析,关注点包括数据元素、关系及不同类型的模型(关系、文档、图)与Schema模式。查询语言的考量涉及与数据模型的关联及声明式与命令式编程。数据模型从应用开发者到硬件工程师的各抽象层次中起着简化复杂性的关键作用,理想模型应具备简洁直观和可组合性。
29 2