大数据【企业级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完成。
小结
本篇博客主要为大家介绍了【企业级用户画像】项目的标签系统,包含不同标签的细致分类以及效果展示。后续博主会为大家带来如何针对不同的标签进行开发,敬请期待
大数据【企业级360°全方位用户画像】标签系统介绍相关推荐
- 企业级360°全方位用户画像:标签系统[四]
絮叨两句: 博主是一名软件工程系的在校生,利用博客记录自己所学的知识,也希望能帮助到正在学习的同学们 人的一生中会遇到各种各样的困难和折磨,逃避是解决不了问题的,唯有以乐观的精神去迎接生活的挑战 少年 ...
- 企业级360°全方位用户画像:环境搭建[五]
絮叨两句: 博主是一名软件工程系的在校生,利用博客记录自己所学的知识,也希望能帮助到正在学习的同学们 人的一生中会遇到各种各样的困难和折磨,逃避是解决不了问题的,唯有以乐观的精神去迎接生活的挑战 少年 ...
- 大数据【企业级360°全方位用户画像】之USG模型和决策树分类算法
在之前的一篇博客<大数据[企业级360°全方位用户画像]之RFM模型和KMeans聚类算法>中,博主为大家带来了KMeans聚类算法的介绍.并在之后,基于不同的模型开发标签,例如RFM,R ...
- 企业级360°全方位用户画像:项目介绍[二]
絮叨两句: 博主是一名软件工程系的在校生,利用博客记录自己所学的知识,也希望能帮助到正在学习的同学们 人的一生中会遇到各种各样的困难和折磨,逃避是解决不了问题的,唯有以乐观的精神去迎接生活的挑战 少年 ...
- 企业级360°全方位用户画像
用户画像概念.项目概述及环境搭建 1.用户画像 1.1.概念 什么是用户画像? 百度百科定义 用户画像又称用户角色,作为一种勾画目标用户.联系用户诉求与设计方向的有效工具,用户画像在各领域得到了广泛的 ...
- Profile_Day05:企业级360全方位用户画像
Profile_Day05:企业级360全方位用户画像 1昨日内容回顾 主要讲解2个方面的内容: 如何基于SparkSQL实现自定义外部数据源HBase和统计类型标签模型开发. 1, SparkSQL ...
- 大数据【企业级360°全方位用户画像】匹配型标签开发
写在前面: 博主是一名大数据的初学者,昵称来源于<爱丽丝梦游仙境>中的Alice和自己的昵称.作为一名互联网小白,写博客一方面是为了记录自己的学习历程,一方面是希望能够帮助到很多和自己一样 ...
- 大数据【企业级360°全方位用户画像】业务数据调研及ETL
写在前面: 博主是一名大数据的初学者,昵称来源于<爱丽丝梦游仙境>中的Alice和自己的昵称.作为一名互联网小白,写博客一方面是为了记录自己的学习历程,一方面是希望能够帮助到很多和自己一样 ...
- 大数据【企业级360°全方位用户画像】项目介绍
在正式开始对[企业级用户画像]项目展开介绍之前,博主可是煞费苦心,为大家整理了一期,如何彻底理解什么是用户画像(
最新文章
- python-9-IO编程
- 在Hotspot JVM中跟踪过多的垃圾回收
- CentOS6.9部署zabbix3.0监控系统
- Forrester云原生开发者洞察白皮书,低代码概念缔造者又提出新的开发范式
- linux-用户管理
- axure 小程序 lib_【kboneui】打通 H5/微信小程序,多端UI库
- 原生 JS 撸一个轮播图(支持拖拽切屏)
- 3款堪称神器的电脑软件,简单又实用
- 已解决:系统更新报错KB3001652--错误0x80070643
- 小米电视换鸿蒙,DIY 篇一:迟来的小米电视主机改造,完美增加红外接收(红外遥控)...
- 股指跨期套利基础学习
- 全球与中国混频器市场现状及未来发展趋势
- JQuery 动态设置setInterval定时器时间间隔
- 论 AI即将完成贝多芬《第十交响曲》
- 二维数组作为函数参数的传递
- vcu整车simulink模型
- 课程设计 学生选课管理 王杰 孙乾 蔚晓青
- 贾跃亭微博发新车 外观奇特酷似科幻
- 谁偷了我的启动文件?——Windows多重引导故障快速修复(转)
- 字符串长度的计算与字符串比较
热门文章
- c语言 int64 t占位符,为什么我会得到“您必须为dtype int64提供占位符张量输出值”?...
- ofstream、ifstream、fstream
- movsb和movsw
- hashlist java_java中集合类HashSet、ArrayList、LinkedList总结
- larval mysql 查询转数组_laravel 中将DB::select 得到的内容转为数组
- c语言控制与实现 pdf,c语言的控制输出格式.pdf
- java字节的输入输出流,java 字节输入输出流
- java对一个无序列表进行分组
- linux通过SSH连接的SSH加密原理(笔记自用)
- Ubuntu 安装redis desktop manager