Profile_Day05:企业级360全方位用户画像
1昨日内容回顾
主要讲解2个方面的内容: 如何基于SparkSQL实现自定义外部数据源HBase和统计类型标签模型开发.
1, SparkSQL外部数据源HBase
按照SparkSQL模块提供的外部数据源接口,实现HBase表中加载和保存数据
2,今日课程内容提纲
3,用户画像:标签系统
整个用户画像项目:基于电商平台构建的,主要使用注册会员的基本信息,交易数据和流量数据对用户进行把标签
用户画像:将用户数据进行标签化
模块一:标签管理平台WEB Platform ,管理这个标签,创建,删除,修改标签和执行标签应用程序
每个标签对应一个模型,每个模型就是一个Spark Application应用程序
讲解项目时:适用简易版,基于SpringBoot+Vue.js开发
标签分类:可以按照不同的角度分类 分类一:人口属性,商业属性,行为属性和用户价值分类二:级别 主分类标签:1级,2级,3级4级标签:业务标签,比如性别标签,职业标签5级标签: 属性标签,就是4级标签对应的值,比如性别标签对应2个属性值 模块二:标签模型开发,针对每个标签开发应用程序
每个标签开发一个Spark Application应用程序,后台使用OozieJava API调度执行标签模型,给每个用户打上标签.
标签分为三种类型:规则匹配类型标签(Rule Match),统计类型标签(Statistics)和挖掘(ML)类型标签
每个标签模型开发的流程
第一步,确定标签(数据源,属性值:属性标签)第三步,开打标签模型,编写Spark Application应用程序第四步,标签模型测试第五步,上线运行及AB测试第六步,标签优化及重新开发
已性别标签模型为例,开发标签模型应用程序
创建4级业务标签:其中规则rule字段包含,此标签计算时数据源信息(在mysql文件中) 创建5级属性标签:其中规则rule字段辅助给用户打上标签
开发标签模型基类,使用模板方法设计模式:AbstractModel,其中executeModel模板方法,确定基本方法执行顺序.
每个标签模型继承基类:AbstractModel,实现其中doTag方法,既可以给每个用户打上标签
2种类型标签模型开发:规则匹配类型标签和统计类型标签
类型 : 规则匹配类型标签
将业务字段与属性标签rule进行匹配,给每个用户打上标签
1 职业标签JobTagModel2 给每个用户打上职业标签,属于规则匹配类型标签
统计类型标签核心思想
使用业务数据中相关字段进行初步统计分析,再结合属性标签规则rule给用户打标签值 讲解3个统计类型标签: 年龄段标签AggRangeModel,使用在…之间比较判断
消费周期标签 ConsumerCycleModel判断用户最后一次购物距今时间,主要使用日期函数
from_unixtime current_timestamp datadiff支付方式标签PayTypeModel
统计每个用户购物时使用支付宝方式次数,获取次数最多方式,使用窗口分析函数
row_numder rank dense_rank :分组,排序,TopKey(蚂蚁金服面试题sql)