基于clickhouse做用户画像,标签圈选

ClickHouse 实现用户画像(标签)系统实践 本文介绍一个ClickHouse应用案例—用户画像系统。将从用户画像的需求出发,结合ClickHouse的特点,设计用户画像的系统架构,最终实现用户画像系统。本案例以单机版ClickHouse为基础,ClickHouse超强的单机性能,使得用户画像系统能够轻松承担千万级别的用户画像业务。对于很多中小型企业来说,单机版的ClickHouse已经足以满足业务需求。一个设计良好的ClickHouse表,即使是单机的,也能支撑数以亿计的数据量。 阅读详情

clickhouse在做用户画像标签时,怎么去做圈选,表结构应该是怎么样的,我们应该怎么去处理,能够使其高性能的圈选,尽可能缩小其占用的存储空间?

这个问题,我通过代码给大家做下的演示

先在hive中对数据预处理

--最初表结构 

create table f_tag_table(
    tag Int,
    tag_name String,
    cust_num String
);

--插入数据 

INSERT INTO f_tag_table values
                             (1001, '存款客户', '1,2,3'),
                             (2001,'国债客户', '2,3,4'),
                             (3001,'卡黑名单客户', '2,4'),
                             (4001,'短信黑名单', '3,4');

现在的表是这样的: 

tagtag_namecust_num
1001存款客户1,2,3
2001国债客户2,3,4
3001卡黑名单客户2,4
4001短信黑名单3,4

重新建一张表

create table usr_table(
	id int,
	tag_name varchar(30),
	tag int
);

 把表f_tag_table的数据插入进去

insert into usr_table
select usr, tag_name, tag from f_tag_table 
lateral view explode(split(cust_num, ',')) tmp as usr;

 现在的表结构如下

usrtag_nametag
1存款客户1001
2存款客户1001
3存款客户1001
2国债客户2001
3国债客户2001
4国债客户2001
2卡黑名单客户3001
4卡黑名单客户3001
3短信黑名单4001
4短信黑名单4001

 --写入到文件中

./hive -e "
select
*
from ck.usr_table
" | tr "\t" "," > /fileName.csv

--在clickhouse中建库建表

create database ck;
use ck;
create table usr_table(
	id UInt32,
	tag_name String,
	tag UInt32
)ENGINE = MergeTree()
ORDER BY id;

--写入到CK中

clickhouse-client -m -u default -h 192.168.88.161 
--query 'INSERT INTO ck.usr_table FORMAT CSV' < /fileName.csv

-- 存储表结构

create table tag_table(
	tag UInt32,
	tag_name String,
	cust_num AggregateFunction(groupBitmap, UInt64 )
)ENGINE = AggregatingMergeTree()
ORDER BY (tag, tag_name)
SETTINGS index_granularity = 128;

insert into tag_table
select
        tag,
       tag_name,
       groupBitmapState(toUInt64(id)) as cust_num
from usr_table group by tag,tag_name;

 --查询表

select tag, tag_name, bitmapToArray(cust_num) from tag_table;

现在表是这样的:

tagtag_namecust_num
1001存款客户[1,2,3]
2001国债客户[2,3,4]
3001卡黑名单客户[2,4]
4001短信黑名单[3,4]

 用bitmap进行圈选

WITH
	(
	SELECT cust_num from tag_table where tag ='1001'
	) AS tag1,
	(
	SELECT cust_num from tag_table where tag ='2001'
	) AS tag2,
	(
	SELECT cust_num from tag_table where tag ='3001'
	) AS tag3,
	(
	SELECT cust_num from tag_table where tag ='4001'
	) AS tag4

select bitmapToArray(bitmapAndnot(bitmapOr(tag1, tag2),bitmapOr(tag3, tag4))) 
as customer;

至此你已经完成了对用户标签的圈选 

【用户画像】ClickHouse简介、特点、安装和部署 之前数仓和画像的处理都是批处理,一般在夜间进行,花费时间很长,按照脚本和调度去完成,后来的处理称为即时处理,即时处理要求计算的时间非常之短,存放在hive中,肯定是不行的,这种需求既要求从一定的数据量中提取(如果是小数量可以从MySQL提取),同时需要速度快。这种数据库就需要在hive中和OLAP中同时存储一份,OLAP总体的设计目标就是即席查询,但是不同的数据库之间又有细微的差别,OLAP数据库有kylinprestodruidclickhouse:多用于用户画像和实时计算,速度快。 阅读详情

相关推荐

ClickHouse BSI与字典服务在B站商业化DMP中的应用实践

DMP(数据管理平台)为广告部门提供B站用户数据的管理。主要功能包括用户标签收集存储,标签市场建设,人群包圈选,人群画像分析,人群/特征定向几大功能模块。

bilibili_TC的博客 2098

基于Flink+ClickHouse构建亿级电商全端用户画像平台(PC

用户画像作为大数据的根基,它抽象出一个用户的信息全貌,为进一步精准、快速地分析用户行为习惯、消费习惯等重要信息,提供了足够的数据基础,奠定了大数据时代的基石。 用户画像,即用户信息标签化,就是企业通过收集与分析消费者社会属性、生活习惯、消费行为等主要信息的数据之后,抽象出一个用户的商业全貌作是企业应用大数据技术的基本方式。用户画像为企业提供了足够的信息基础,能够帮助企业快速找到精准用户群体以及用户需求等更为广泛的反馈信息。 用户画像系统能很好地帮助企业分析用户的行为与消费习惯,可以预测商品的发展的趋势,提高产品质量,同时提高用户满意度。构建一个用户画像,包括数据源端数据收集、数据预处理、行为建模、构建用户画像。有些标签是可以直接获取到的,有些标签需要通过数据挖掘分析到!本套课程会带着你一步一步的实现用户画像案例,掌握了本套课程内容,可以让你感受到Flink+ClickHouse技术架构的强大和大数据应用的广泛性。 在这个数据爆发的时代,像大型电商的数据量达到百亿级别,我们往往无法对海量的明细数据做进一步层次的预聚合,大量的业务数据都是好几亿数据关联,并且我们需要聚合结果能在秒级返回。 包括我们的画像数据,也是有这方便的需求,那怎么才能达到秒级返回呢?ClickHouse正好满足我们的需求,它是非常的强大的。 本课程采用Flink+ClickHouse技术架构实现我们的画像系统,通过学习完本课程可以节省你摸索的时间,节省企业成本,提高企业开发效率。希望本课程对一些企业开发人员和对新技术栈有兴趣的伙伴有所帮助,如对我录制的教程内容有建议请及时交流。项目中采用到的算法包含Logistic Regression、Kmeans、TF-IDF等,Flink暂时支持的算法比较少,对于以上算法,本课程将带大家用Flink实现,并且结合真实场景,学完即用。系统包含所有终端的数据(移动端、PC端、小程序端),支持亿级数据量的分析和查询,并且是实时和近实时的对用户进行画像计算。本课程包含的画像指标包含:概况趋势,基础属性,行为特征,兴趣爱好,风险特征,消费特征,营销敏感度,用户标签信息,用户群里,商品关键字等几大指标模块,每个指标都会带大家实现。课程所涵盖的知识点包括:开发工具为:IDEA FlinkClickhouseHadoopHbaseKafkaCanalbinlogSpringBootSpringCloudHDFSVue.jsNode.jsElemntUIEcharts等等 课程亮点: 1.企业级实战、真实工业界产品 2.ClickHouse高性能列式存储数据库 3.提供原始日志数据进行效果检测 4.Flink join企业级实战演练 5.第四代计算引擎Flink+ClickHouse技术架构6.微服务架构技术SpringBoot+SpringCloud技术架构7.算法处理包含Logistic Regression、Kmeans、TF-IDF等8.数据库实时同步落地方案实操9.统计终端的数据(移动端、PC端、小程序端) 10.支撑亿级海量数据的用户画像平台11.实时和近实时的对用户进行画像计算12.后端+大数据技术栈+前端可视化13.提供技术落地指导支持 14.课程凝聚讲师多年实战经验,经验直接复制15.掌握全部内容能独立进行大数据用户平台的设计和实操企业一线架构师讲授,代码在老师的指导下企业可以复用,提供企业解决方案。  版权归作者所有,盗版将进行法律维权。 

《用户画像:平台构建与业务实践》阅读总结

标签依赖底层源数据一般分为实时数据(其中实时数据一般是客户端实时上报或者服务端的实时日志)和离线数据(过往历史数据)通过实时数据可以得到实时标签和行为明细数据,通过离线数据可以得到离线标签和挖掘类(借助算法模型挖掘)标签。标签管理模块对外提供的功能:基于标签元数据的标签增删改查、基于标签值分布数据的标签分布查询、支持查询标签生产调度信息的标签生产管理、用于维护标签质量的标签数据监控。

Airy的博客 1240

【用户画像】功能实现值写入ClickHouse人群包、预估和更新分群人数,NoSQL数据库介绍

,意即 ”不仅仅是SQL“,泛指非关系型的数据库。NoSQL 不拘泥于关系型数据库的设计范式,放弃了通用的技术标准,为某一领域特定场景而设计,从而使性能、容量或者扩展性都打到了一定程度的突破。不遵循SQL标准。是一个巨大的牺牲,学习成本,人力成本很高,所有的语法都需要学习。不支持ACID(事务)。远超于SQL的性能。

weixin_43923463的博客 1410

用户画像如何分析 用户画像如何获取

你是否有过这样的经历:当在购物网站有过一次购物或者搜索后,网站会为你推送各种同类型商品或者互补商品;当成为某品牌的注册会员后,特殊的日子(比如生日、会员日)会收到品牌商发来的祝福短信以及优惠券;当打开新闻 APP 时,系统总是可以为你推送符合个人喜好的内容;当外出旅游时,与衣食住行相关的推送信息总是如期而至…… 诸如此类的场景,其实都是基于「用户画像」的精准营销常见套路。 在大数据时代,洞察「用户画像」是精准营销的基础和前提。它可以给出一个用户的信息全貌,为品牌精准快速地分析用户行为习惯、消费习

meetwhale的博客 1185

【ClickHouse实战】如何基于 ClickHouse Bitmap实现用户画像圈选?

基于 ClickHouse Bitmap 实现用户画像圈选,需要借助于 Roaring Bitmaps 进行处理。Roaring Bitmap 是一种用于存储和操作大量有序整数集合的压缩位图技术,具有高效的性能和较小的存储空间占用。ClickHouse 支持 Roaring Bitmap,通过类型存储和操作。

AI天才研究院 1万+

基于Clickhouse 的用户圈选实践

1. 背景在伴鱼,我们努力了解我们的用户,旨在为用户提供更好的服务。APP 内容推荐,需要根据用户特征来决定推送内容;促销活动,需要针对不同的用户群体设计不同的活动方案;线上产品售卖,也需要了解用户喜好,才能更好地把产品卖给用户。为此,我们搭建了用户画像平台。本文将首先探讨平台的功能需求、标签体系定位,随后介绍平台的架构和具体功能实现。2. 功能用户画像平台把重点放在了分...

大数据星球-浪尖 1501

《ClickHouse企业级应用:入门、进阶与实战》8 基于ClickHouse Bitmap实现DMP用户画像标签圈人

本章主要介绍了 DMP的基本概念、事实、维度、指标与标签的基本知识,以及如何使用 ClickHouse Bitmap ,来实现一个支持任意维度用户标签的人群圈选,以及支持人群画像洞察的用户画像平台,详细介绍了具体的实现原理和 SQL 实例。相信大家通过对本章的学习,已经对 ClickHouse的具体使用有了更加深入的了解和认识了。

AI天才研究院 2万+

Clickhouse+Bitmap实现用户画像中海量用户的圈选

虽然我们用bitmap来优化圈客,但是并不是所有的画像标签都适合转换为BitMap,只有标签值可枚举的,并且数量有限的标签才适合转换为BitMap来支持人群圈选。我们可以看出,使用了画像宽表圈人的逻辑其实就是从明细数据中找到满足条件的用户并最终构建人群,也就是我们筛了多少标签就在对应的表后就对应的条件,如果海量标签的话,这个也会存在一定效率低下,这里我们可以引进bitmap的实现方式来优化,使用BitMap进行圈人的话,会对用户进行预聚合,在人群圈选时直接使用聚合后的结果进行计算。4.混合模式圈客实现。

xingyuelhb的博客 1155

用户画像高分笔记

用户画像实战笔记与大厂案例

SmartSi 1091

用户画像标签数据存储选型与ClickHouse落地实践

在构建用户画像系统时,标签数据存储是决定查询性能、更新延迟与扩展成本的核心环节。标签通常分为事实、规则、模型三类,按值类型与基数选择合适的存储形态尤为关键。宽表结构擅长单用户维度的快速检索与群体聚合分析,而Bitmap倒排索引则在高并发人群圈选场景中表现卓越,两者常以双链路方式并存。ClickHouse凭借列式存储、LowCardinality字典编码与物化视图机制,能够高效支撑亿级用户标签宽表的写入与查询,在单用户画像、多条件圈选、近实时标签更新等场景均有成熟实践。通过合理的空值约定、健康巡检指标与EXP

weixin_33525298的博客 190

ClickHouse Bitmap用户画像存储方案性能测试

一、环境准备 机器性配置: 4H8G JDK 1.8 二、测试流程: 1、制造测试数据 造了350个用户标签,用户userId约25亿,从以下几个角度验证计算性能 ┌─ln───────────────────┬─lv───────────┬───────uv─┐ │ 测试 │ 测试1 │ 0 │ │ 手机型号 │ vivo │ 95 │ │ 手机型号 │ 华为...

b379685397的博客 4007

BugkuCTF-PWN题pwn2-overflow超详细讲解

解题思路 1)计算出get_shell_的地址偏移量 2)算出来之后就直接溢出到后门函数 知识点 x64函数调用规则 解题之前我们先学下linux x64的函数调用规则。 x64机器在调用某个函数前,比如int func(int a, int b, int c, int d, int e, int f, int g, int h),首先他会把前6个参数从左往右存入到寄存器rdi、rsi、rdx、rcx、r8、r9,其余参数存入到栈里,保存的顺序是从右往左入栈。比如abcdef会存入到寄存器里,然后一次入栈h

am_03的博客 3014

ClickHouse:人群圈选业务的大杀器

简介:随着数据时代的发展,各行各业数据平台的体量越来越大,用户个性化运营的诉求也越来越突出,用户标签系统,做为个性化千人千面运营的基础服务,应运而生。如今,几乎所有行业(如互联网、游戏、教育等)都有实时精准营销的需求。针对复杂条件过滤的场景,ClickHouse对多条件筛选流程做出优化,扫描的数据量更小,性能也较ES而言更高效。什么是人群圈选随着数据时代的发展,各行各业数据平台的体量越来越大,用户个性化运营的诉求也越来越突出,用户标签系统,做为个性化千人千面运营的基础服务,应运而生。如今,几乎所有行业(如互

阿里云开发者 2643

移远EC20模块USB模式切换的底层逻辑与驱动适配探秘

本文深入探讨了移远EC20模块USB模式切换的底层逻辑与驱动适配机制,详细解析了AT命令控制下的USB0与WWAN0模式差异。通过分析USB协议栈、内核驱动框架及网络子系统的交互,提供了模式切换的完整操作流程和常见问题解决方案,助力开发者优化4G通信模块在嵌入式设备中的稳定连接。

cc789的博客 845

激光雷达接收芯片选型指南:APD、SiPM、SPAD阵列的优缺点对比

本文深入对比了激光雷达接收芯片APD、SiPM和SPAD阵列的核心技术原理与性能差异。APD作为线性模式工作的稳健选择,动态范围大;SiPM具备单光子探测和高增益优势;而SPAD阵列凭借像素级数字读出和集成TDC,在时间分辨率与系统集成度上领先。文章从灵敏度、时间精度、动态范围及系统成本等多维度剖析,为不同应用场景(如车载雷达、Flash LiDAR、消费电子)的芯片选型提供实战指南。

ik6789012的博客 660

ClickHouse 在十亿级用户画像平台的应用实践

当前时代,数据分析早已不再满足于传统的 T+1式报表或需要提前设置好维度与指标的 OLAP 查询,而是更希望使用可以支持任意指标、任意维度并秒级给出反馈的大数据实时查询系统。ClickHouse 的出现,满足了绝大数场景下对大数据的实时分析和查询需求。本文主要介绍了 ClickHouse 的基本概念、核心特性,以及基于 ClickHouse 构建用户画像平台的设计方案、实践经验和未来规划。如果你正在使用 ClickHouse,希望本文能够帮助到你。

SmartSi 1129

ICG setup timing violation介绍?

门控时钟(clock gating)在RTL级电路设计过程中进行低功耗优化常用方法,能够有效降低动态功耗(翻转功耗)。Clock gating cell 可以由与门,与非门,或门或者或非门构成,但很容易产生Glitch。在实际使用中,一般用ICG(集成门控时钟单元)来完成clock gating。 下图展示了glitch的产生原因 在CTS时钟树综合的时候,ICG不会被看作sink,通常放置在source点附近,因此就会出现如上图这种结果。上图可以看出,在分析DFF到ICG的setup timing

m0_61003348的博客 9811

ClickHouse和ES在人群圈选上的对比

ClickHouse和ES在人群圈选上的对比ES标签存储的痛点ClickHouse替代ES标签存储ES人群圈选ClickHouse人群圈选ClickHouse标签存储和人群圈选的优势ClickHouse集成Bitmap什么是BitmapBitmap位运算Bitmap缺点 ES标签存储的痛点 标签导入到ES的时间过长,需要等待各种数据准备就绪,才能关联查询 Mapping在建好之后不能更改字段类型 新增或修改标签,不能够实时进行 ES的DSL语法对用户不太友好 ClickHouse替代ES标签存储 相同

MLwodejia的博客 1759

第133章 PCL OrientedBoundingBox 有向包围盒

中文叫有向包围盒,是一种旋转过的包围盒。特点:不像AABB那样固定朝向坐标轴能更紧密地包裹物体适用于复杂姿态的物体,比如倾斜、旋转的物体通常通过PCA、惯性矩等算法确定方向。

yumeiguo的博客 265

【WLAN】【基础知识】WIFI那些事儿之信道和频谱(涵盖2.4G、5G、6G,全网最全)

- 从事WIFI相关开发或测试工作,经常要和信道、频宽、频率等打交道,本文仅将平时涉及的2.4G、5G、6G的信道、频宽、频率等做一总结。 - 一图胜万言,本文汇总了工作中经常用到的频谱图,保证全网最全!!! - 本博客地址,https://blog.youkuaiyun.com/qxhgd,欢迎各位关注,转发请注明出处。

一介草民,只为生活。 1万+

【实用+干货】如何使用Clickhouse搭建百亿级用户画像平台看这一篇就够了

京东科技CDP画像平台通过对用户分群,针对不同的用户投放以不同形式的不同内容,实现千人千面的精准投放,最终实现用户的增长。对外提供多样的数据服务,服务于不同的业务,以支持精准营销、精细化运营,智能外呼等营销场景。随着时代的发展,离线人群已经不能满足日益增长的运营需求。从去年开始,CDP着手建设数据实时化,目前已经完全做到了人群命中实时计算。京东云技术团队。

dsgdauigfs的博客 1270

HBase学习二:RegionServer详解

RegionServer是HBase系统中最核心的组件,主要负责用户数据写入、读取等基础操作。RegionServer组件实际上是一个综合体系,包含多个各司其职的核心模块:HLog、MemStore、HFile以及BlockCache。一个RegionServer由一个(或多个)HLog、一个BlockCache以及多个Region组成。其中,HLog用来保证数据写入的可靠性;BlockCache可以将数据块缓存在内存中以提升数据读取性能;

qwerty1372431588的博客 750

ClickHouse 与实时大模型特征库:基于 RoaringBitmap 的亿级用户画像秒级交并补

将传统海量行记录的代数关系,转化为底层位图的向量化布尔代数运算,是计算复杂度的降维打击。基于 ClickHouse RoaringBitmap 的人群画像底座,为现代数据驱动的精准智能营销赋予了近乎光速的实时决策力。

guoyizhongxing的博客 1970

python爬虫项目(一百九十八):电商平台用户行为数据分析与推荐系统、爬取电商平台用户行为数据

本文详细介绍了如何通过爬虫技术抓取电商平台的用户行为数据,并结合数据分析技术,构建一个简单的推荐系统。使用Selenium模拟用户操作抓取动态网页数据,并通过API接口直接获取用户行为数据,能够为后续的用户行为分析提供基础数据。我们结合了基于用户协同过滤、基于商品协同过滤和矩阵分解等方法,构建了不同的推荐系统。实际应用中,可以进一步优化推荐算法,利用更复杂的深度学习技术和更高效的数据处理方法,提升推荐的准确性和个性化程度。

斌擎科技 2362

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

上一篇: Redis面试高频三大问-缓存穿透、缓存击穿、缓存雪崩
下一篇: 什么是MapReduce,一文带你读懂
chad__chang
chad__chang 优质创作者: 大数据技术领域 优质创作者: 大数据技术领域
博客等级 码龄5年 5736粉丝 107原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

chad__chang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值