• 用户行为分析-事件分析模型


    这篇对事件分析做简单总结

    用事件的概念来描述用户的行为,包含时间,地点,人物,方式等要素,这也是常见的做法

    1、是什么?

      事件分析是基于用户的行为数据,也就是事件数据,对用户行为进行多维度,多条件的指标分析和统计,分析用户的行为模式。

      常见的指标有:此类行为的次数,用户数,属性值的统计数,总和,均值等,

      多维分析则是指根据某个属性对用户进行分组划分,

      多条件分析是通过属性值控制,筛选出特定的人群进行分析

    2、如何实现?

      用户的行为数据必定是巨大的,通过埋点采集的用户行为会存储在hive的明细表中,或者其他存储系统。我们采取的是hive hdfs存储,使用日期+事件名作为hive分区,既先通过日期,再通过事件分区。

    可快速检索,修改数据也不会影响过其他事件,压缩格式使用ORC,较parquet有能搞的压缩比和查询效率,当然也是其不足之处。

      事件分析为了实现其灵活性,实现其多维分析,多条件分析,必须直接使用明细数据,不能做预处理,同时是即席查询对计算引擎的要求较大,选择的是presto作为计算引擎,并且方便做二次开发,UDF等函数开发,后面很多复杂分析也是通过presto自定义函数实现的。

      在系统功能的实现难度上:

      1、前端的复杂交互设计,支持多事件选择,多指标,多维度,事件的多条件等等

      2、接口参数设计,解析成最终能执行的SQL,并且支持多表操作,如后期支持用户信息表,用户分群表联合对事件数据做筛选

      3、查询性能,即席查询需要控制时间在10-20s,大部分查询需要在此时间范围内完成(目前数据量相对较少,暂时没有做过多优化,如近似统计函数,缓存)

  • 相关阅读:
    使用sshpass方式实现ssh自动登陆
    MySQL高可用负载均衡
    linux 查看文件夹下的文件个数(当前目录的文件数)
    centos6.5 rsync+inotify实现服务器之间文件实时同步
    Linux shell之数组
    Shell脚本 $0, $#, $*, $@, $?, $$等变量说明
    Linux输出重定向>和>>区别
    EXCEL操作实用学习笔记
    mysql的学习笔记-视图
    mysql学习笔记-索引
  • 原文地址:https://www.cnblogs.com/lrxvx/p/14286364.html
Copyright © 2020-2023  润新知