Java教程

Profile_Day03:企业级360°全方位用户画像

本文主要是介绍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,提供readwrite方法,从HBase表读写方法
  • 2,规则匹配类型模型标签开发
    • 整个标签分类中,分为三类:规则匹配类标签,统计类标签数据挖掘类标签
      在这里插入图片描述
  • 3,重构代码
    • 属性配置文件config.propertis:存储数据库连接信息和应用配置信息
    • 工具类: 创建SparkSession实例对象工具类SparkUtils
    • 设计模式: 模板方法设计模式(Template Parttern)使得代码更加简洁,更加关注业务核心实现.在这里插入图片描述
这篇关于Profile_Day03:企业级360°全方位用户画像的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!