网站流量日志分析项目01

1. 流量分析背景&系统架构

视频

01-背景介绍–网站分析的意义
02-背景介绍–如何进行网站分析–流量分析(质量、多维细分)
03-背景介绍–如何进行网站分析–内容导航分析
04-背景介绍–如何进行网站分析–转化分析(漏斗模型)
05–整体技术流程-数据采集和数据预处理
06–整体技术流程-数据入库(ETL)
07–整体技术流程-数据分析和数据可视化
08–整体技术流程-系统架构图

目标

​ 本章主要介绍网站流量分析的意义和价值,以及互联网数仓的常见架构,ETL过程等。本章重点掌握数据处理的流程,每个环节中使用的技术。

小结

  1. 网站分析的意义:分析用户的行为数据,让更多的用户沉淀下来变成会员,赚取最大化的收入。

  2. 网站分析主要从三点进行分析:流量分析(质量分析,流量多维度细分),内容分析,转化分析。

  3. 数据处理的流程:

    • 数据采集:1.数据从无到有的过程。 2.数据从某个存储介质搬运到指定的存储介质。(Flume,Sqoop,canal 等) 用户的客户端信息
    • 数据预处理:保证后续正式处理的数据格式统一,干净规则的结构化数据。(MapReduce,Spark Core / Spark SQL,Flink)
    • 数据入库:将不同数据源的数据加载到数据库仓库中统一存放。(Sqoop,Kettle)
    • 数据分析:使用 Hive SQL ,根据需求分析出各种指标结果。(Impala)
    • 数据可视化:将分析所得的结果数据进行数据可视化,比如直方图,扇形图,热力图等。
  4. 项目架构图:

    • 数据采集:页面埋点 JS 采集;开源框架 Apache Flume。
    • 数据预处理:Hadoop MapReduce
    • 数据仓库:Apache Hive
    • 数据导出:Sqoop导入导出工具
    • 数据可视化:echarts
    • 调度工具:Azkaban

2. 日志数据的采集

视频

09—数据采集–使用web服务器自带日志记录采集
10—数据采集–页面埋点JavaScript收集数据
11-埋点收集–原理实现雏形–如何解决js和html页面耦合问题
12-埋点收集–原理实现雏形–如何解决js跨域问题(伪装图片)
13-埋点收集–原理实现分析

目标

​ 上一章主要介绍了网站流量分析的背景和系统的架构,接下来这一章主要介绍网站流量的数据采集问题,本章将介绍日志采集的方式和采集过程中的优化细节。

小结

  1. 日志数据的采集主要分为2类:网站日志文件页面埋点 js 自定义采集
  2. 网站日志文件 能简单快捷记录一些基础的属性,但如果想记录用户的操作行为轨迹,就无法实现。
  3. 埋点js采集是 在页面上预先置入一段js代码,当用户操作行为触发该js代码时进行数据采集工作。
  4. 埋点采集优化的三种方式:
    1. 为了解决 html 与 js 耦合的问题,我们将js代码单独存放到一个 js 页面上。
    2. 为了降低服务器收集日志的压力,单独部署多台日志服务器专门用于采集数据的接收响应。
    3. 为了解决 js 跨域访问问题,佯装请求图片,从而附带采集日志信息间接实现 js 的跨域访问问题。这里的主体是采集数据,所以图片要尽可能小,避免资源的浪费。

3. 埋点收集

视频

14-埋点收集–确定收集信息和途径
15-埋点收集–埋点代码编写–src属性直接引入
16-埋点收集–埋点代码编写–匿名函数自调用创建标签引入
17-埋点收集–前端收集数据脚本
18-埋点收集–后端脚本(nginx+lua)
19-埋点收集–日志格式、日志切分

目标

本章将介绍数据的埋点采集原理,需要掌握的知识点有2部分组成:1. 前端 js 的数据如何做好埋点采集,2.后端 nginx 如果通过数据分析,过滤得到源数据。

小结

  1. 收集信息和途径:在网页上收集的数据,有的信息可以通过 Nginx 来获取,而有的信息可以通过 js中的document、window、navigator对象来获取 。

  2. 埋点代码植入的两种方式(推荐使用第二种):

    • 页面使用

你可能感兴趣的:(Hadoop)