大數據【企業級360°全方位用戶畫像】標籤系統介紹

寫在前面: 博主是一名軟件工程系大數據應用開發專業大二的學生,暱稱來源於《愛麗絲夢遊仙境》中的Alice和自己的暱稱。作爲一名互聯網小白,寫博客一方面是爲了記錄自己的學習歷程,一方面是希望能夠幫助到很多和自己一樣處於起步階段的萌新。由於水平有限,博客中難免會有一些錯誤,有紕漏之處懇請各位大佬不吝賜教!個人小站:http://alices.ibilibili.xyz/ , 博客主頁:https://alice.blog.csdn.net/
儘管當前水平可能不及各位大佬,但我還是希望自己能夠做得更好,因爲一天的生活就是一生的縮影。我希望在最美的年華,做最好的自己

        在前面幾篇博客中,博主已經爲大家帶來了什麼是用戶畫像,以及項目的一個基礎介紹。用戶畫像的核心就是打標籤,本篇博客,我們來聊聊關於這個項目的標籤系統。
在這裏插入圖片描述


1. 標籤系統

1.1 基礎標籤

1.1.1、概覽:基礎標籤

        啓動WEB 項目後,瀏覽器登錄,默認賬號與密碼,點擊【登錄】即可,下圖所示:
在這裏插入圖片描述
        進入系統後,直接顯示【基礎標籤】頁面,重要功能如下所示:

在這裏插入圖片描述
        上述所表述的5個按鈕,主要構建標籤、查看標籤和編輯標籤,具體說明如下:

    1、基礎標籤 Tag頁
    
    2、基礎標籤 分類
    	按照標籤體系劃分標籤爲4級、5級標籤
    	- 4級標籤:業務標籤
    	- 5級標籤:業務標籤對應的值(屬性標籤)
    
    3、新建主分類標籤
    	1級、2級、3級分類標籤
    	
    4、創建業務標籤
    	具體業務標籤,其中有很多相關設置,關於標籤如何構建(讀取數據源、運行Spark程序及調度策略)
    	
    5、針對業務標籤操作
    	- 啓動:業務標籤運行程序生成標籤
    	- 編輯:修改業務標籤屬性
    	- 刪除:將業務標籤刪除

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.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 ;

1.1.5、新建:5級標籤

        每個業務標籤(4級標籤)對應值稱之爲5級標籤,所以在新建業務標籤(4級標籤)以後,需要在其下面新建具體的值(5級標籤),如下圖所示:

在這裏插入圖片描述
        字段具體說明:

1、標籤名稱:502、業務含義:註冊會員出生日期爲1950-1959年區間的

3、標籤規則:19500101-19591231

        新建【年齡段】業務標籤:4級標籤後,新建值標籤:5級標籤爲例,截圖如下:在這裏插入圖片描述

1.1.6、總述:新建標籤

        依據上述分析,如果要開發一個標籤,業務需求整理完成以後,需在平臺上新建標籤,統一管理調度執行,以新建:【人口屬性】-【性別標籤】爲例:

在這裏插入圖片描述

  • 新建業務標籤(4級標籤)

在這裏插入圖片描述

  • 新建業務標籤值標籤(5級標籤、屬性標籤):性別標籤有兩個值-男和女

        □ 標籤值:男

在這裏插入圖片描述
        □ 標籤值:女
在這裏插入圖片描述

1.2、組合標籤

        基於已經存在的【基礎標籤】進行邏輯組合,形成特定業務標籤,如下列舉4個組合標籤:
在這裏插入圖片描述
        WEB 系統展示如下:

在這裏插入圖片描述
        新建【組合標籤】,具體操作如下圖步驟:
在這裏插入圖片描述
        選擇【業務標籤】,再選取對應的值,點擊【添加】按鈕,所有標籤選擇完成後,單擊【下一步】。

在這裏插入圖片描述
        組合標籤名稱、含義及用途等信息,最後保存並提交申請。

在這裏插入圖片描述
在這裏插入圖片描述

1.3、微觀畫像

        依據用戶:身份證號、手機號、QQ及Email,檢索查詢用戶所有標籤信息,構建展示用戶畫像信息。

在這裏插入圖片描述
        使用官方提供的身份證號【110115199402265244】查詢檢索,展示結果如下:
在這裏插入圖片描述

1.4、標籤查詢

        依據標籤篩選(各種標籤組合)查詢對應用戶信息,底層使用solr完成。
在這裏插入圖片描述

小結

        本篇博客主要爲大家介紹了【企業級用戶畫像】項目的標籤系統,包含不同標籤的細緻分類以及效果展示。後續博主會爲大家帶來如何針對不同的標籤進行開發,敬請期待😎

        如果以上過程中出現了任何的紕漏錯誤,煩請大佬們指正😅

        受益的朋友或對大數據技術感興趣的夥伴記得點贊關注支持一波🙏

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章