JAVA数据画像_关于java:用户画像之标签查询附源码

本文详细介绍了如何使用JAVA处理数据画像,包括标签的生成、存储和筛选人群的过程。通过业务数据库和埋点数据,数据工程师利用Hive或Spark生成标签,并将数据存储在ElasticSearch中,以便于经营人员通过标签筛选目标用户群体。
摘要由CSDN通过智能技术生成

转自:https://blog.csdn.net/appearb…

目录

1.简介

2.架构图

3.表构造

4.标签筛选人群

1.申请格局

2.人群筛选

1.简介

通过解决数仓中的业务数据和埋点数据,生成用户对应的标签,经营人员通过标签筛选出人群,而后发送营销短信。

此文次要形容标签筛选人群

2.架构图

数据起源:业务数据库和埋点数据

标签生成:经营人员定义好标签元数据后,数据工程师写hive或spark定时调度生成;hive表构造只有3列:用户Id、标签code、标签值

标签存储:hive表转换下图格局,而后通过datax到ElasticSearch

userlabels格局:

3.表构造

ElasticSearch mapping:

1. {

2. "mappings": {

3. "_doc": {

4. "properties": {

5. "userid": {

6. "type": "keyword"

7. },

8. "userlabels": {

9. "type": "nested"

10. },

11. "data_date": {

12. "type": "keyword"

13. }

14. },

15. "dynamic_templates": [

16. {

17. "string_template": {

18. "path_match": "userlabels.*",

19. "mapping": {

20. "type": "keyword"

21. }

22. }

23. }

24. ]

25. }

26. }

27. }

标签元数据表构造:

1. CREATE TABLE `userprofile_tag_metadata` (

2. `id` varchar(50) NOT NULL COMMENT 'id',

3. `code` varchar(50) DEFAULT NULL COMMENT '标签code',

4. `name` varchar(50) DEFAULT NULL COMMENT '标签名',

5. `is_mutex` tinyint(1) DEFAULT NULL COMMENT '是否标签互斥:0:否;1:是',

6. `data_format` int(10) DEFAULT NULL COMMENT '数据格式:1-枚举(tagValue默认为1);2-数值;3-文本;4-工夫',

7. `description` varchar(500) DEFAULT NULL COMMENT '标签阐明',

8. `category_id` varchar(50) DEFAULT NULL COMMENT '以后分类id',

9. `all_category_id` varchar(1000) DEFAULT NULL COMMENT '全门路分类id',

10. `top_category_id` varchar(50) DEFAULT NULL COMMENT '顶级分类id',

11. `creator_id` varchar(200) DEFAULT NULL COMMENT '创建人',

12. `gmt_create` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创立工夫',

13. `gmt_modified` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最初批改工夫',

14. `status` tinyint(1) DEFAULT '1' COMMENT '1启用,0禁用',

15. `tag_production_rule` varchar(500) DEFAULT NULL COMMENT '标签生成规定',

16. `tag_update_rule` varchar(500) DEFAULT NULL COMMENT '标签更新规定',

17. `tag_type` int(10) DEFAULT NULL COMMENT '标签类型:1-统计;2-规定',

18. `tag_value` varchar(200) DEFAULT NULL COMMENT '标签值',

19. PRIMARY KEY (`id`) USING BTREE

20. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='用户画像-标签元数据表';

4.标签筛选人群

1.申请格局

1. [

2. {

3. "tagId": "003",

4. "operator": "=",

5. "tagValue": "1"

6. },

7. {

8. "tagId": "002",

9. "operator": ">",

10. "tagValue": "50"

11. },

12. {

13. "tagId": "002",

14. "operator": "<=",

15. "tagValue": 300

16. }

17. ]

2.人群筛选

通过elastiSearch的scroll筛选即可

源码地址:https://github.com/ostarsier/tagsearch

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值