A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 不二晨 于 2018-10-10 11:42 编辑

一 慕课网日志分析实战项目
    1)用户行为日志概述
    2)离线数据处理架构(数据如何采集,如何清洗,需求处理,写入数据库,可视化)
    3)项目需求
    4)功能实现
    5)Spark on YARN (90%公司将Spark跑在YARN上)
    6)性能调优

1. 用户行为日志概述
    1)用户行为日志:用户每次访问网站时所有的行为数据(访问、浏览、搜索、点击...)
        用户行为轨迹、流量日志
    2)通过分析日志可以得到:网站页面访问量,网站粘性,相应推荐
2. 用户行为日志生成渠道
    1)Nginx
    2)Ajax:页面内的js代码获得用户的访问信息,比如鼠标位置信息
3. 用户行为日志内容
    1)IP地址,用户账号,访问的时间和区域
    2)所使用的客户端,访问app的哪个模块,链接地址
4.日志数据内容:
    1)访问的系统属性:操作系统,浏览器等
    2)访问特征:点击的url,从哪个url跳转过来的(referer),页面上的停留时间
    3)访问信息:session_id,访问ip(通过ip可以确定地理位置,访问城市)等
5. 用户行为日志分析的意义
    1)网站的眼睛:能够知道访问者的信息和对商品的需求
    2)网站的神经:
    3)网站的大脑

二 离线数据处理架构
1. 流程
    1)数据采集 大量数据一般使用Nginx,使用Flume进行采集:web日志写入到HDFS
    2)数据清洗:具有部分脏数据(不符合规范),可以采用Spark,Hive,MapReduce,清洗完之后的数据可以存放在HDFS上
    3)数据处理:按照我们的需求进行相应业务的统计和分析 可以采用Spark,Hive,MapReduce等
    4)数据的处理结果入库:结果可以存放到RDBMS,NoSQL等中
    5)数据的可视化:通过图形化展示的方式展现出来,如饼图,柱状图,地图,折线图等:ECharts,HUZ,Zeppelin

三 项目需求
    1)统计imooc主站最受欢迎的课程/手记的Top N访问次数  最终结果以可视化展示
    2)按照地市统计Imooc主站最受欢迎的Top N课程
      1.根据IP地址提取出城市信息
      2.窗口函数在Spark SQL中的使用
    3)按流量进行统计Imooc主站最受欢迎的TopN课程

四 功能实现
    1)imooc网站主站网站格式介绍:需要 访问时间,访问过程耗费流量,访问URL,访问IP地址
    2)数据清洗:两个阶段处理


    3)第二次清洗
      1. 使用Spark SQL解析访问日志
      2. 解析出来视频和手记的编号和类型
      3. 根据IP解析出城市信息(使用开源项目)
      4. 使用Spark SQL将访问时间按天进行分区输出(按照日志中的访问时间进行分区,d,h,m5)

输入:访问时间、访问URL、IP地址、流量信息
输出:URL cmsType(类型) cmsID(编号) 流量 IP 城市信息 访问时间 天

    4)使用二叉树查询IP地址数据库
     1. git clone 下载到本地
     2. 编译下载的项目:mvn clean package -DskipTests  编译成功形成jars
     3. 安装Jars包

    5)数据清并存储到指定位置
     1. patitionBy 是指将输出文件按day进行分区
     2. coalesce(1) 是指只输出一个文件   这个是一个调优点
【转载】https://blog.csdn.net/canglan211 ... 559?utm_source=copy

2 个回复

倒序浏览
奈斯
回复 举报
回复 举报
您需要登录后才可以回帖 登录 | 加入黑马