大数据【企业级360°全方位用户画像】标签系统介绍

        在前面几篇博客中,博主已经为大家带来了什么是用户画像,以及项目的一个基础介绍。用户画像的核心就是打标签,本篇博客,我们来聊聊关于这个项目的标签系统。

文章目录
1. 标签系统
1.1 基础标签
1.1.1、概览:基础标签
1.1.2、新建:主分类标签
1.1.3、新建:业务标签
1.1.4、存储:标签数据
1.1.5、新建:5级标签
1.1.6、总述:新建标签
1.2、组合标签
1.3、微观画像
1.4、标签查询
小结
1. 标签系统
1.1 基础标签
1.1.1、概览:基础标签
        启动WEB 项目后,浏览器登录,默认账号与密码,点击【登录】即可,下图所示:

        进入系统后,直接显示【基础标签】页面,重要功能如下所示:


        上述所表述的5个按钮,主要构建标签、查看标签和编辑标签,具体说明如下:

    1、基础标签 Tag页
    
    2、基础标签 分类
        按照标签体系划分标签为4级、5级标签
        - 4级标签:业务标签
        - 5级标签:业务标签对应的值(属性标签)
    
    3、新建主分类标签
        1级、2级、3级分类标签
        
    4、创建业务标签
        具体业务标签,其中有很多相关设置,关于标签如何构建(读取数据源、运行Spark程序及调度策略)
        
    5、针对业务标签操作
        - 启动:业务标签运行程序生成标签
        - 编辑:修改业务标签属性
        - 删除:将业务标签删除
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
1.1.2、新建:主分类标签
        用户画像构建时,标签按照等级划分,大致如下所示:

        在WEB界面上,点击左下角【新建主分类标签】按钮,即可新建1级、2级和3级标签:

         但是如果要删除1级、2级和3级标签,必须到后台数据库删除。

1.1.3、新建:业务标签
        新建某个业务标签(实际开发标签,编写Spark 应用程序),截图选项如下:


        具体参数说明如下(以新建【年龄段】业务标签为例):

1、标签名称:年龄段
    
2、标签分类:商城-某商城-人口属性
    业务标签属于4级标签,所以分类时指定所属3级标签

3、更新周期:每天#2019-08-01 01:00#2029-08-01 01:00
    多久执行一次Spark任务
    
4、业务含义:注册用户的生日所属年龄段
    业务标签含义说明

5、标签规则:Key=Value形式,按照换行符分割
    inType=hbase
    zkHosts=192.168.10.20
    zkPort=2181
    hbaseTable=tbl_users
    family=info
    selectFieldNames=id,gender
    
6、程序入口:cn.itcast.tag.commons.models.pub.business.AgeRangeModel
    Spark Application程序的全名称

7、算法名称:Statistics
    业务标签计算模型类型:统计-Statistics、规则匹配-Match、挖掘-具体算法-DecisionTree、KMeans
    
8、算法引擎:/apps/tags/models/tag_9/lib/tags-20190703231621.jar
    Spark应用程序JAR包,通过页面选择jar包,上传到HDFs目录中

9、模型参数:Spark 应用程序执行资源参数设置
    --deploy-mode cluster --driver-memory 2G --executor-memory 4G --num-executors 5 --executor-cores 2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1.1.4、存储:标签数据
        上述新建的标签数据存储MySQL数据库中,对应两张表存储数据,分别为标签表:tbl_basic_tag和模型表:tbl_model,具体说明如下:

标签表:tbl_basic_tag,存储标签的基本信息,属于基础标签
CREATE TABLE `tbl_basic_tag` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '标签ID',
  `name` varchar(50) DEFAULT NULL COMMENT '标签名称',
  `industry` varchar(30) DEFAULT NULL COMMENT '行业、子行业、业务类型、标签、属性',
  `rule` varchar(300) DEFAULT NULL COMMENT '标签规则',
  `business` varchar(100) DEFAULT NULL COMMENT '业务描述',
  `level` int(11) DEFAULT NULL COMMENT '标签等级',
  `pid` bigint(20) DEFAULT NULL COMMENT '父标签ID',
  `ctime` datetime DEFAULT NULL COMMENT '创建时间',
  `utime` datetime DEFAULT NULL COMMENT '修改时间',
  `state` int(11) DEFAULT NULL COMMENT '状态:1申请中、2开发中、3开发完成、4已上线、5已下线、6已禁用',
  `remark` varchar(100) DEFAULT NULL COMMENT '备注',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=233 DEFAULT CHARSET=utf8 COMMENT='基础标签表';
1
2
3
4
5
6
7
8
9
10
11
12
13
14
模型表:tbl_model,存储每个4级标签具体Spark 应用程序相关信息,对应与基础标签
CREATE TABLE `tbl_model` (
  `id` bigint(20) DEFAULT NULL,
  `tag_id` bigint(20) DEFAULT NULL COMMENT '标签ID',
  `type` int(11) DEFAULT NULL COMMENT '算法类型:统计-Statistics、规则匹配-Match、挖掘-具体算法-DecisionTree',
  `model_name` varchar(200) DEFAULT NULL COMMENT '模型名称',
  `model_main` varchar(200) DEFAULT NULL COMMENT '模型运行主类名称',
  `model_path` varchar(200) DEFAULT NULL COMMENT '模型JAR包HDFS路径',
  `sche_time` varchar(200) DEFAULT NULL COMMENT '模型调度时间',
  `ctime` datetime DEFAULT NULL COMMENT '创建模型时间戳',
  `utime` datetime DEFAULT NULL COMMENT '更新模型时间戳',
  `state` int(11) DEFAULT NULL COMMENT '模型状态,1:运行;0:停止',
  `remark` varchar(100) DEFAULT NULL,
  `operator` varchar(100) DEFAULT NULL,
  `operation` varchar(100) DEFAULT NULL,
  `args` varchar(100) DEFAULT NULL COMMENT '模型运行应用配置参数,如资源配置参数'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
        依据上述两张表可以通过关联查询可以获取WEB 页面上表的基本信息,SQL如下(传递标签ID):

USE tags ;

SELECT
    tb.id AS tagId, tb.`name` AS tagName, tb.business, tb.industry,
    tb.`level`, tb.rule, tb.model_main AS modelMain, tb.model_name AS modelName,
    tb.model_path AS modelPath, tb.sche_time AS schetime, tb.args
FROM (
         SELECT
             tb1.id, tb1.`name`, tb1.business, tb1.industry,
             tb1.`level`, tb1.pid, tb1.state, tb2.model_main,
             tb2.model_name, tb2.model_path, tb2.sche_time,
             tb3.rule, tb2.args
         FROM
             tbl_basic_tag tb1
                 INNER JOIN
             tbl_model tb2
             ON
                     tb1.id = tb2.tag_id
                 INNER JOIN
             tbl_rule tb3 ON tb1.id = tb3.tag_id
     ) tb
WHERE
        1 = 1 AND tb.state != -1 AND tb.id = 8 ;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
1.1.5、新建:5级标签
        每个业务标签(4级标签)对应值称之为5级标签,所以在新建业务标签(4级标签)以后,需要在其下面新建具体的值(5级标签),如下图所示:


        字段具体说明:

1、标签名称:50后
    
2、业务含义:注册会员出生日期为1950年-1959年区间的

3、标签规则:19500101-19591231
1
2
3
4
5
        新建【年龄段】业务标签:4级标签后,新建值标签:5级标签为例,截图如下:

1.1.6、总述:新建标签
        依据上述分析,如果要开发一个标签,业务需求整理完成以后,需在平台上新建标签,统一管理调度执行,以新建:【人口属性】-【性别标签】为例:

新建业务标签(4级标签)


新建业务标签值标签(5级标签、属性标签):性别标签有两个值-男和女
        □ 标签值:男


        □ 标签值:女


1.2、组合标签
        基于已经存在的【基础标签】进行逻辑组合,形成特定业务标签,如下列举4个组合标签:

        WEB 系统展示如下:


        新建【组合标签】,具体操作如下图步骤:

        选择【业务标签】,再选取对应的值,点击【添加】按钮,所有标签选择完成后,单击【下一步】。


        组合标签名称、含义及用途等信息,最后保存并提交申请。


1.3、微观画像
        依据用户:身份证号、手机号、QQ及Email,检索查询用户所有标签信息,构建展示用户画像信息。


        使用官方提供的身份证号【110115199402265244】查询检索,展示结果如下:


1.4、标签查询
        依据标签筛选(各种标签组合)查询对应用户信息,底层使用solr完成。


小结
        本篇博客主要为大家介绍了【企业级用户画像】项目的标签系统,包含不同标签的细致分类以及效果展示。后续博主会为大家带来如何针对不同的标签进行开发,敬请期待😎
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

AI周红伟

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

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

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

打赏作者

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

抵扣说明:

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

余额充值