Profile_Day03:企业级360°全方位用户画像
2021/11/26 23:15:27
本文主要是介绍Profile_Day03:企业级360°全方位用户画像,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
第一节内容:业务数据迁移
如何将用户相关业务数据从MySQL数据表迁移到HBASE数据库中
- 方式一SQOOP直接导入数据,简单,并行导入
- 方式二:MapReduce程序
- 1.hbase数据库提供工具类: ImportTsv
- 2,自己编写MapReduce程序,灵活性大,难度较大
- 方式三:Spark程序
针对海量数据批量数据加载至HBase表时,推荐使用Bulkload方式加载,比较Put方式:
- 1,put方式插入数据:put --> WAL(预写日志) -->memstore(内存) --> storeFile, 当数量较多时,此种方式给HBase集群带来性能压力.
- Bulkload方式插入数据:data -> HFile文件中,HFile是HBase数据库底层数据存储文件,直接放入Region数据目录即可
- 批量Bulkload加载数据至HBase表时,首先要将MySql表的数据daoruHDFS(Hive表中)
第二方面内容:标签模型应用调度
使用Oozie提供java Client API 调度模型执行每一个workFlow,调度器Coore调度器
- oozie job类型: 工作流WorkFlow,调度Coordinator,批任务集Bundle
- Oozie核心组件工作流WorkFlow组成:工作流中每个Action Node运行,需要启动MapReduce任务组成.
- 使用Oozie调度执行应用程序时,三种方式
- 方式一:手动编写配置文件(xml),使用CLI(oozie job)oozie提交执行job;
- 方式二: 集成hue,可视化方式创建工作流和调度器,提交job;
- 方式三: 程序中直接调用Oozie Java Client API 提交执行Job,提前时将工作流和调度器配置文件和lib放入HDFS目录中
第三方面内容 : 包含三个要点:
1,标签存储与计算
- 标签管理: 开发标签管理系统WEB系统,新建标签,删除标签,修改标签及执行标签模型应用程序
- 标签存储:横表+竖表,hbase(随意添加标签) 和Elasticsearch(标签查询检索)
- 标签计算: 使用Spark对每个标签开发一个应用程序,给所有用户打上标签的值
2,用户画像功能模块
模块一:标签调度模块(工具类)
- 封装Oozie Java Client API ,方便调度执行Spark APPlication,每次执行都是调度器Coordinate
模块二:标签管理平台:tags-web
- 简易版,使用SparkBoot+vue开发,提供可以创建标签(1级2级3级标签,4级业务标签和5级属性标签),提供执行每个标签应用程序:
模块三: 标签模型计算
- 基于SparkSQL对每个标签模型计算,每个标签开发Spark Applicai
3,标签开发流程
- 提交流程
- 开发每个标签模型时,步骤
执行流程
- 每个标签模型编写程序时步骤
- 每个标签模型开发应用程序,读写HBase表的数据
- 加载HBase表数据:TableInputFormat
- 保存数据至HBase表TableOutputFormat
2,今日课程内容提纲
主要划分三个方面内容
- 1,标签模型开发[性别moxingkaifa]
- 含义:给每个用户打上性别标签的
- 具体编码步骤:8步
![在这里插入图片描述](https://www.www.zyiz.net/i/ll/?i=be6f78b54b4a414682265e5448ac8708.png- 核心难点:编写工具类HBasetools,提供read和write方法,从HBase表读写方法
- 2,规则匹配类型模型标签开发
- 整个标签分类中,分为三类:规则匹配类标签,统计类标签和数据挖掘类标签
- 3,重构代码
- 属性配置文件config.propertis:存储数据库连接信息和应用配置信息
- 工具类: 创建SparkSession实例对象工具类SparkUtils
- 设计模式: 模板方法设计模式(Template Parttern)使得代码更加简洁,更加关注业务核心实现.
这篇关于Profile_Day03:企业级360°全方位用户画像的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-27本地多文件上传简易教程
- 2024-11-26消息中间件源码剖析教程
- 2024-11-26JAVA语音识别项目资料的收集与应用
- 2024-11-26Java语音识别项目资料:入门级教程与实战指南
- 2024-11-26SpringAI:Java 开发的智能新利器
- 2024-11-26Java云原生资料:新手入门教程与实战指南
- 2024-11-26JAVA云原生资料入门教程
- 2024-11-26Mybatis官方生成器资料详解与应用教程
- 2024-11-26Mybatis一级缓存资料详解与实战教程
- 2024-11-26Mybatis一级缓存资料详解:新手快速入门