写点什么

大数据实战:网站流量日志数据分析

发布于: 2021 年 05 月 11 日
大数据实战:网站流量日志数据分析

网站流量日志数据分析是一个纯粹的数据分析项目,其整体流程基本上就是依据数据的处理流转流程进行。通俗可以概括为:数据从哪里来和数据到哪里去,可以分为以下几个大的步骤:



1. 数据采集

数据采集概念,目前行业会有两种解释:

一是数据从无到有产生的过程(服务器打印的 log、自定义采集的日志等)叫做数据采集;

另一方面也有把通过使用 Flume 等工具把数据采集搬运到指定位置的这个过程叫做数据采集。

关于具体含义要结合语境具体分析,明白语境中具体含义即可。

 

2. 数据预处理

数据预处理(data preprocessing)是指在正式处理以前对数据进行的一些处理。现实世界中数据大体上都是不完整,不一致的脏数据,无法直接进行数据分析,或者说不利于分析。为了提高数据分析的质量和便捷性产生了数据预处理技术。

数据预处理有多种方法:数据清理,数据集成,数据变换等。这些数据处理技术在正式数据分析之前使用,大大提高了后续数据分析的质量与便捷,降低实际分析所需要的时间。

技术上原则来说,任何可以接受数据经过处理输出数据的语言技术都可以用来进行数据预处理。比如 java、Python、shell 等。

本项目中通过 MapReduce 程序对采集到的原始日志数据进行预处理,比如数据清洗,日期格式整理,滤除不合法数据等,并且梳理成点击流模型数据。

       使用 MapReduce 的好处在于:一是 java 语言熟悉度高,有很多开源的工具库便于数据处理,二是 MR 可以进行分布式的计算,并发处理效率高。

 

3. 数据入库

预处理完的结构化数据通常会导入到 Hive 数据仓库中,建立相应的库和表与之映射关联。这样后续就可以使用 Hive SQL 针对数据进行分析。

因此这里所说的入库是把数据加进面向分析的数据仓库,而不是数据库。因项目中数据格式比较清晰简明,可以直接 load 进入数据仓库。

实际中,入库过程有个更加专业的叫法—ETL。ETL 是将业务系统的数据经过抽取、清洗转换之后加载到数据仓库的过程,目的是将企业中的分散、零乱、标准不统一的数据整合到一起,为企业的决策提供分析依据。

 

ETL 的设计分三部分:数据抽取、数据的清洗转换、数据的加载。在设计 ETL 的时候我们也是从这三部分出发。数据的抽取是从各个不同的数据源抽取到 ODS(Operational Data Store,操作型数据存储)中——这个过程也可以做一些数据的清洗和转换),在抽取的过程中需要挑选不同的抽取方法,尽可能的提高 ETL 的运行效率。ETL 三个部分中,花费时间最长的是“T”(Transform,清洗、转换)的部分,一般情况下这部分工作量是整个 ETL 的 2/3。数据的加载一般在数据清洗完了之后直接写入 DW(Data Warehousing,数据仓库)中去。

 

4. 数据分析

本阶段是项目的核心内容,即根据需求使用 Hive SQL 分析语句,得出指标各种统计结果。



5. 数据可视化

将分析所得数据结果进行数据可视化,一般通过图表进行展示。

数据可视化可以帮你更容易的解释趋势和统计数据。



发布于: 2021 年 05 月 11 日阅读数: 64
用户头像

还未添加个人签名 2021.03.07 加入

还未添加个人简介

评论

发布
暂无评论
大数据实战:网站流量日志数据分析