Hadoop数据分析平台实战——280新增用户和总用户分析

Hadoop离线数据分析平台实战——280新增用户和总用户分析

项目进度

模块名称 完成情况
用户基本信息分析(MR)� 未完成
浏览器信息分析(MR) 未完成
地域信息分析(MR) 未完成
外链信息分析(MR) 未完成
用户浏览深度分析(Hive) 未完成
订单分析(Hive) 未完成
事件分析(Hive) 未完成

业务总述

在本次项目中只有两个地方需要新用户数据和总用户数据,
分别为用户基本信息分析模块和浏览器分析模块,
它们的区别主要就是统计分析的维度不一样,
故我们可以将其放到一个mapreduce任务中计算。
最终的统计数据我们需要保持到mysql关系型数据库中,
我们直接通过自定义OutputFormat和OutputCollector类来实现写出到mysql的操作。
通过定义维度信息类和统计数据类来分别区分维度表和统计表,
定义一个DimensionConverter类来获取/填充维度表信息(有则获取id,无则插入,再获取id)。

计算规则

new_install_user计算规则:计算launch时间中,uuid的唯一个数。
total_user计算规则:同一个维度,前一天的总用户+当天新增用户。(只按照天来统计数据,但是提供按照其他时间维度统计的方式)
最终数据保存:stats_user和stats_device_browser。
涉及到的列(除了维度列和created列外):new_install_users和total_install_users。
涉及到其他表有dimension_platform、dimension_date、dimension_browser。

编码步骤

  1. 定义维度信息表对应的顶级父类。
    ⁃ 2. 指定数据库连接信息指定,搭建DimensionConverter获取维度id的类框架,根据具体的分析到时候再添加内容。�
  2. 搭建自定义OutputFormat和OutputCollector类框架。
  3. 实现统计new_install_user的用户数
    a. 自定义platform、date、browser维度类,以及操作这些类的工具类。
    b. 实现MR
  4. 实现统计total_user的用户数。
  5. 测试
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容