zoukankan      html  css  js  c++  java
  • 数仓day04----日志预处理2

    1.详细描述idmap的整个计算方案

    (1)使用SparkSession对象读取用户不同类别的埋点日志,解析并抽取出相应的标识id,使用union进行合并,得到装有汇总标识id的rdd(ids)

    (2)利用ids分别构造图计算的vertex集合以及构造图计算的边集合(将出现次数小于2的边过滤掉)

    (3)将上一日的idmap映射字典解析成点、边集合,并将之与当日的点边集合进行合并

    (4)利用合并后的点、边集合,我们使用spark-graphx构造图,并调用连通子图算法,得到初步结果

    (5)将当日的idmp与前一日的idmp做对比,调整用户统一标识(guid)

      

    2.详细描述app埋点日志预处理的整个计算方案

    1)json解析,解析成功的返回LogBean对象,解析失败的返回null(这样一来,json格式不对、不完整的脏数据就被识别出来了)

    2)对上一步结果RDD[LogBean]进行过滤(清掉json不完整的脏数据,清掉不符合规则的数据)

    3)数据修正(调整guid,统一命名规范、度量单位规范等)

    4)对数据进行字典集成(如利用地理位置映射字典快速将经纬度转换成地区)

    5)从集成后的结果中跳出无法解析的gps,写入一个待解析目录,定期通过网络请求某地图的api,得到地址后,将结果添加到本地的地理位置映射字典

    6)输出最终结果保存为parquet(或ORC)文件

    3.反复敲3遍-idmapping程序、预处理程序

      

    4.为什么要地理位置geo字典?为什么要idmp字典?为什么要对app埋点日志预处理?

    (1)快速获取用户的商圈信息(大致的地理位置),方便后续的地域维度分析

    (2)快速判断日志数据的所属用户,以便于后续进行用户行为分析

    (3)清除埋点日志中的一些废弃字段,格式不正确,以及不需要的数据,并且可以将数据处理成便于后续的数据分析的格式

  • 相关阅读:
    leetcode 1 两数之和
    leetcode 486 预测赢家
    leetcode 121 买卖股票的最佳时机
    leetcode 5 最长回文子串
    个人作业——软件工程实践总结作业
    个人作业——软件产品案例分析
    软件工程实践2017 个人技术博客
    软件工程实践2017结对项目——第二次作业
    软件工程实践2017结对项目——第一次作业
    课堂笔记(六)
  • 原文地址:https://www.cnblogs.com/jj1106/p/12853933.html
Copyright © 2011-2022 走看看