环境搭建

2.4、项目工程演示
将项目工程【tags(演示版).zip】解压,为Maven Project,导入IDEA中,如下图所示:

选择解压的工程,如下图:

一直点击下一步【Next】即可,最终导入工程:

由于项目使用SSM开发WEB工程,需要运行到Tomcat中,配置Tomcat,如下所示:

添加TomcatServer,使用Tomcat版本为【apache-tomcat-8.5.45】:



选择部署工程:

选择WEB项目,修改访问ROOT路径:

启动Tomcat即可。
3、标签系统

3.1、基础标签
3.1.1、概览:基础标签
启动WEB 项目后,浏览器登录,默认账号与密码,点击【登录】即可,下图所示:

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

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

1、基础标签 Tag页
2、基础标签 分类
按照标签体系划分标签为4级、5级标签
- 4级标签:业务标签
- 5级标签:业务标签对应的值(属性标签)
3、新建主分类标签
1级、2级、3级分类标签
4、创建业务标签
具体业务标签,其中有很多相关设置,关于标签如何构建(读取数据源、运行Spark程序及调度策略)
5、针对业务标签操作
- 启动:业务标签运行程序生成标签
- 编辑:修改业务标签属性
- 删除:将业务标签删除

3.1.2、新建:主分类标签
用户画像构建时,标签按照等级划分,大致如下所示:

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

但是如果要删除1级、2级和3级标签,必须到后台数据库删除。
3.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

完整信息截图如下所示:

3.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=‘基础标签表’;

模型表: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;

依据上述两张表可以通过关联查询可以获取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 ;

3.1.5、新建:5级标签
每个业务标签(4级标签)对应值称之为5级标签,所以在新建业务标签(4级标签)以后,需要在其下面新建具体的值(5级标签),如下图所示:

字段具体说明:

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

以新建**【年龄段】业务标签:4级标签后,新建值标签:5级标签**为例,截图如下:

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

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

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

标签值:女

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

WEB 系统展示如下:

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

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

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


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

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

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

用户画像第一章(企业级360°全方位用户画像_环境搭建)相关推荐

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

最新文章

  1. 硬件重要还是软件重要?一个人能同时学会吗?
  2. LeetCode Excel Sheet Column Title(表格列数数字到英文转换)
  3. MATLAB信号包络的提取
  4. 前后端分离微服务架构如何设计?
  5. Clion生成动态链接库.dll
  6. mysql 事务 myisam,InnoDB和MyISAM的差别(mysql事务处理)
  7. 小米miuiVS华为鸿蒙,华为鸿蒙2.0 vs 小米MIUI 12.5
  8. 551. Student Attendance Record I 从字符串判断学生考勤
  9. ubuntu16.04 安装caffe以及python接口
  10. Qt工作笔记-qmake和uic(对Qt底层的进一步认识)
  11. 在GridView中,设置字符超出单元格部分的内容用“...”表示
  12. 将多个Excel文件合并为一个(实测有效)
  13. newtonsoft.json java,Newtonsoft.Json无法反序列化有效的JSON
  14. 视频工具mencoder
  15. 中国网络游戏上市突击大事记
  16. android让字体左右对齐,Android 模仿微信读书文字左右对齐效果
  17. Demo : 人脸5个关键点检测
  18. Hadoop-HFDS知识点总结
  19. 使用matplotlib在图片上画框框
  20. 【meshlab使用指南】06、Select Faces/Vertices inside polyline area功能不能选中点/面

热门文章

  1. 大数据时代来临了,你需要了解什么是大数据
  2. Excel每页都打印表头
  3. 真香!一行代码搞定微信支付回调
  4. sonar代码质量检测告警“static“ base class members should not be accessed via derived types
  5. [附源码]计算机毕业设计JAVA社区生鲜仓库管理系统
  6. 组合体视图的画图步骤_§5-2 画组合体视图的方法与步骤—叠加型组合体的视图画法...
  7. ssh导出数据库的数据到Excel表格
  8. python排名上升_TIOBE 9月排名: C ++下降,Python夺得第三名
  9. excel文件无法打印提示内存不足_Mac应用程序无法打开提示不明开发者或文件损坏的处理方法...
  10. [python复习8] 数据库mysql操作