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

文章目录
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完成。

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

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

  1. 企业级360°全方位用户画像:标签系统[四]

    絮叨两句: 博主是一名软件工程系的在校生,利用博客记录自己所学的知识,也希望能帮助到正在学习的同学们 人的一生中会遇到各种各样的困难和折磨,逃避是解决不了问题的,唯有以乐观的精神去迎接生活的挑战 少年 ...

  2. 企业级360°全方位用户画像:环境搭建[五]

    絮叨两句: 博主是一名软件工程系的在校生,利用博客记录自己所学的知识,也希望能帮助到正在学习的同学们 人的一生中会遇到各种各样的困难和折磨,逃避是解决不了问题的,唯有以乐观的精神去迎接生活的挑战 少年 ...

  3. 大数据【企业级360°全方位用户画像】之USG模型和决策树分类算法

    在之前的一篇博客<大数据[企业级360°全方位用户画像]之RFM模型和KMeans聚类算法>中,博主为大家带来了KMeans聚类算法的介绍.并在之后,基于不同的模型开发标签,例如RFM,R ...

  4. 企业级360°全方位用户画像:项目介绍[二]

    絮叨两句: 博主是一名软件工程系的在校生,利用博客记录自己所学的知识,也希望能帮助到正在学习的同学们 人的一生中会遇到各种各样的困难和折磨,逃避是解决不了问题的,唯有以乐观的精神去迎接生活的挑战 少年 ...

  5. 企业级360°全方位用户画像

    用户画像概念.项目概述及环境搭建 1.用户画像 1.1.概念 什么是用户画像? 百度百科定义 用户画像又称用户角色,作为一种勾画目标用户.联系用户诉求与设计方向的有效工具,用户画像在各领域得到了广泛的 ...

  6. Profile_Day05:企业级360全方位用户画像

    Profile_Day05:企业级360全方位用户画像 1昨日内容回顾 主要讲解2个方面的内容: 如何基于SparkSQL实现自定义外部数据源HBase和统计类型标签模型开发. 1, SparkSQL ...

  7. 大数据【企业级360°全方位用户画像】匹配型标签开发

    写在前面: 博主是一名大数据的初学者,昵称来源于<爱丽丝梦游仙境>中的Alice和自己的昵称.作为一名互联网小白,写博客一方面是为了记录自己的学习历程,一方面是希望能够帮助到很多和自己一样 ...

  8. 大数据【企业级360°全方位用户画像】业务数据调研及ETL

    写在前面: 博主是一名大数据的初学者,昵称来源于<爱丽丝梦游仙境>中的Alice和自己的昵称.作为一名互联网小白,写博客一方面是为了记录自己的学习历程,一方面是希望能够帮助到很多和自己一样 ...

  9. 大数据【企业级360°全方位用户画像】项目介绍

    在正式开始对[企业级用户画像]项目展开介绍之前,博主可是煞费苦心,为大家整理了一期,如何彻底理解什么是用户画像(

最新文章

  1. python-9-IO编程
  2. 在Hotspot JVM中跟踪过多的垃圾回收
  3. CentOS6.9部署zabbix3.0监控系统
  4. Forrester云原生开发者洞察白皮书,低代码概念缔造者又提出新的开发范式
  5. linux-用户管理
  6. axure 小程序 lib_【kboneui】打通 H5/微信小程序,多端UI库
  7. 原生 JS 撸一个轮播图(支持拖拽切屏)
  8. 3款堪称神器的电脑软件,简单又实用
  9. 已解决:系统更新报错KB3001652--错误0x80070643
  10. 小米电视换鸿蒙,DIY 篇一:迟来的小米电视主机改造,完美增加红外接收(红外遥控)...
  11. 股指跨期套利基础学习
  12. 全球与中国混频器市场现状及未来发展趋势
  13. JQuery 动态设置setInterval定时器时间间隔
  14. 论 AI即将完成贝多芬《第十交响曲》
  15. 二维数组作为函数参数的传递
  16. vcu整车simulink模型
  17. 课程设计 学生选课管理 王杰 孙乾 蔚晓青
  18. 贾跃亭微博发新车 外观奇特酷似科幻
  19. 谁偷了我的启动文件?——Windows多重引导故障快速修复(转)
  20. 字符串长度的计算与字符串比较

热门文章

  1. c语言 int64 t占位符,为什么我会得到“您必须为dtype int64提供占位符张量输出值”?...
  2. ofstream、ifstream、fstream
  3. movsb和movsw
  4. hashlist java_java中集合类HashSet、ArrayList、LinkedList总结
  5. larval mysql 查询转数组_laravel 中将DB::select 得到的内容转为数组
  6. c语言控制与实现 pdf,c语言的控制输出格式.pdf
  7. java字节的输入输出流,java 字节输入输出流
  8. java对一个无序列表进行分组
  9. linux通过SSH连接的SSH加密原理(笔记自用)
  10. Ubuntu 安装redis desktop manager