基于大数据技术的用户日志数据分析及可视化平台搭建项目代码及数据集

目录

大数据专业实习报告........................................................................................................ 1

1. 项目概述..................................................................................................................... 5

1.1. 项目背景............................................................................................................ 5

1.2. 项目流程............................................................................................................ 5

2. 功能需求描述.............................................................................................................. 6

2.1. 系统功能组成..................................................................................................... 6

2.2. 数据描述............................................................................................................ 6

2.3. 功能描述............................................................................................................ 8

2.3.1. 流量概况分析........................................................................................... 8

2.3.2. 日新日活分析........................................................................................... 8

2.3.3. 交互事件分析........................................................................................... 9

2.3.4. 广告事件分析........................................................................................... 9

3. 架构设计..................................................................................................................... 9

3.1. 名词解释............................................................................................................ 9

3.2. 系统环境............................................................................................................ 9

3.2.1. 软件......................................................................................................... 9

3.2.2. 硬件......................................................................................................... 9

3.3. 系统设计............................................................................................................ 9

3.4. 系统架构图....................................................................................................... 10

4. Web原型设计............................................................................................................. 10

4.1. 流量概况分析模块............................................................................................ 10

4.2. 日新日活分析模块............................................................................................ 11

4.3. 交互事件分析模块............................................................................................ 11

4.4. 广告事件分析模块............................................................................................ 12

5. Web设计.................................................................................................................... 12

5.1. 概念总览图....................................................................................................... 12

5.1.1. 分层:四层结构...................................................................................... 13

5.1.2. 分包:前端和后端.................................................................................. 13

6. 数仓表结构设计......................................................................................................... 15

7. 工程搭建.................................................................................................................... 16

7.1. 项目结构.......................................................................................................... 16

7.2. 修改父项目的pom文件.................................................................................... 17

8. 字典构建.................................................................................................................... 18

8.1. 编写构造SparkSession函数............................................................................... 18

8.2. 地理位置字典构建............................................................................................ 19

8.2.1. 提取数据库中地理位置的经纬度............................................................. 19

8.2.2. 将geo坐标转变为hashgeo编码.............................................................. 21

8.3. id映射字典构建................................................................................................ 25

8.3.1. 在父项目pom中添加fastjson依赖.......................................................... 25

8.3.2. 在dataware子项目中添加graphx依赖..................................................... 26

8.3.3. 编写代码................................................................................................ 27

8.3.4. 运行测试................................................................................................ 28

9. 数据预处理................................................................................................................ 28

9.1. 编写代码.......................................................................................................... 29

9.1.1. 编写AppLogBean实体类........................................................................ 29

9.1.2. 编写AppLogDataPreprocess..................................................................... 30

9.2. 运行测试.......................................................................................................... 34

9.3. 打包提交线上运行............................................................................................ 34

9.3.1. 将代码中写死的路径换成参数形式.......................................................... 34

9.3.2. 在父项目中添加编译java和scala的插件................................................. 36

9.3.3. 项目打包并上传...................................................................................... 37

9.3.4. 将数据文件上传至hdfs............................................................................ 38

9.3.5. 提交项目jar包........................................................................................ 39

10. 数仓构建.................................................................................................................. 40

10.1. ODS层数据加载.............................................................................................. 40

10.1.1. 启动hive............................................................................................... 40

10.1.2. 创建数据库data_warehouse.................................................................... 40

10.1.3. 创建外部分区表ODS_APP_LOG........................................................... 40

10.1.4. 加载数据............................................................................................... 42

10.2. DWD 层建模及开发........................................................................................ 43

10.2.1. 全局数据明细表:DWD_APL_GLB_DTL............................................... 43

10.2.2. 页面描述信息维表DIM_PG_INFO......................................................... 46

10.2.3. 流量事件明细表:DWD_APL_TFC_DTL............................................... 47

10.2.4. 交互事件明细表:DWD_APL_ITR_DTL................................................ 51

10.2.5. 广告信息描述维表DIM_AD_INFO........................................................ 54

10.2.6. 广告事件明细表DWD_APL_ADV_DTL................................................. 55

10.3. 流量概况分析................................................................................................. 59

10.3.1. DWS层建模及开发................................................................................ 59

10.3.2. ADS层报表开发.................................................................................... 63

10.4. 日新日活分析................................................................................................. 67

10.4.1. DWS层建模及开发................................................................................ 67

10.4.2. ADS层报表开发.................................................................................... 71

10.5. 新用户留存分析.............................................................................................. 76

10.5.1. 新用户留存记录表:ADS_APL_NRT_REC............................................. 76

10.6. 用户活跃成分分析.......................................................................................... 77

10.6.1. 用户连续活跃区间记录表:DWS_APL_UCA_RNG................................ 77

10.6.2. 访问间隔分布用户聚合表:DWS_APL_ITV_AGU.................................. 79

10.7. app版本升级分析............................................................................................ 81

10.7.1. app版本升级统计报表:ADS_APL_APP_UPG........................................ 81

10.8. 交互事件分析................................................................................................. 83

10.8.1. 事件次数会话聚合表:DWS_APL_ITF_AGS.......................................... 83

10.8.2. 事件次数用户聚合表:DWS_APL_ITR_AGU......................................... 85

10.8.3. 交互事件概况统计报表:ADS_APL_ITR_CUBE.................................... 87

10.8.4. 交互事件top100用户记录表:ADS_APL_ITR_TOP100_U...................... 90

10.9. 访问路径分析................................................................................................. 92

10.9.1. 用户访问路径明细记录表:DWD_APL_RUT_DTL................................. 92

10.9.2. 访问路径概况统计报表:ADS_APL_RUT_OVW.................................... 94

10.10. 转化漏斗分析................................................................................................ 96

10.10.1. 漏斗转化报表:ADS_APL_LD_OVW................................................... 96

10.11. 广告事件分析.............................................................................................. 100

10.11.1. 广告概况统计报表:ADS_APL_ADV_OVW....................................... 100

11. olap平台开发.......................................................................................................... 102

11.1. presto安装与配置........................................................................................... 102

11.1.1. 下载presto........................................................................................... 103

11.1.2. 上传压缩包.......................................................................................... 103

11.1.3. 解压.................................................................................................... 103

11.1.4. 创建Presto数据目录............................................................................ 104

11.1.5. 创建配置文件所在目录和相应配置文件................................................ 104

11.1.6. Presto属性配置.................................................................................... 104

11.1.7. Connector配置...................................................................................... 105

11.1.8. 分发presto........................................................................................... 106

11.1.9. 分别修改hadoop02和hadoop03节点上的node.propertis........................ 106

11.1.10. 配置环境变量.................................................................................... 106

11.1.11. 分发环境变量.................................................................................... 107

11.1.12. 使环境变量起作用............................................................................. 107

11.1.13. 启动presto......................................................................................... 107

11.1.14. 查看webUI........................................................................................ 107

11.1.15. presto cli 命令行使用.......................................................................... 107

11.2. 后端开发....................................................................................................... 110

11.2.1. 流量概况分析...................................................................................... 110

11.2.2. 日新日活分析...................................................................................... 122

11.2.3. 交互事件分析...................................................................................... 134

11.2.4. 广告事件分析...................................................................................... 148

11.3. 前端开发....................................................................................................... 149

11.4. 前后端联调................................................................................................... 150

11.5. 效果展示....................................................................................................... 152

11.5.1. 流量概况分析...................................................................................... 152

11.5.2. 日新日活分析...................................................................................... 155

11.5.3. 交互事件分析...................................................................................... 156

11.5.4. 广告事件分析...................................................................................... 157

12. 项目总结................................................................................................................ 158

12.1. 心得.............................................................................................................. 158

12.2. 不足.............................................................................................................. 158

基于大数据技术的用户日志数据分析及可视化平台搭建项目

  1. 项目概述
    1. 项目背景

随着我国科学技术水平的不断发展,计算机网络技术的广泛应用,我国已经步入了大数据时代。在大数据背景下,各种繁杂的数据层出不穷,一时难以掌握其基本特征及一般规律,这也给企业的运营数据分析工作增添了不小的难度。在大数据的背景下,基于大数据前沿技术构建企业运营数据分析平台系统受到越来越多的企业的重视,在具体的数据分析工作中,也起到了越来越重要的作用。通过建立完善的运营数据后台管理系统,能够实现对分析展示系统的用户访问、业务操作及系统运行状态监控等进行有效管控。

    1. 项目流程

模拟日志数据,通过字典构建、数据预处理将处理后的数据作为数仓的数据源、导入Hive中,通过ODS层、DWD层、DWS层和ADS层进行数仓的构建,共构建了27个数据表。最后通过Presto整合Hive,将SpringBoot项目连接Presto数据源进行前后端开发与前后端联调,最终通过Echarts图表呈现在Web界面中。具体流程图如下:

基于大数据技术的用户日志数据分析及可视化平台搭建项目代码及数据集_第1张图片

  1. 功能需求描述
    1. 系统功能组成

主要功能模块:

  1. 流量概况分析
  2. 日新日活分析
  3. 交互事件分析
  4. 广告事件分析
    1. 数据描述

{

"eventid":"AppStart",

"event":

{

"adId":"71",

"pgId":"27",

"adPosition":"",

"adType":"",

"adTitle":"",

"adSource":"",

"adResourceID":""

},

"user":

{

"uid":"001417",

"account":"",

"email":"",

"phoneNbr":"",

"birthday":"",

"isRegistered":"",

"isLogin":"",

"addr":"",

"gender":"",

"phone":

{

"imei":"",

"mac":"00-00-00-0d-38-52-ec",

"imsi":"59997166",

"osName":"iOS",

"osVer":"7.3",

"androidId":"20001417",

"resolution":"2460×1850",

"deviceType":"HUAWEI8",

"deviceId":"fjkef",

"uuid":"89995749"

},

"app":

{

"appid":"com.51doit.mall",

"appVer":"1.23",

"release_ch":"豌豆荚",

"promotion_ch":"01"

},

"loc":

{

"areacode":"520000000",

"longtitude":"20.0",

"latitude":"0.0",

"carrier":"ISP02",

"netType":"3G",

"cid_sn":"00004251",

"ip":"246:101:134:109"

},

"sessionId":"464a501a-f18a-4f80-9025-2a978ace23f3"

},

"timestamp":1654636378900

}

Key

解释

eventid

事件id

event

事件

adId

广告id

pgId

页面id

adPosition

广告位置

adType

广告类型

adTitle

广告标题

adSource

广告源

adResourceID

广告源id

user

用户

uid

用户id

account

账户

email

邮箱

phoneNbr

电话号码

birthday

出生日期

isRegistered

是否注册

isLogin

是否登陆

addr

地址

gender

性别

phone

电话

imei

国际移动设备识别码

mac

MAC地址

imsi

国际移动用户识别码

osName

操作系统名字

osVer

操作系统版本

androidId

Android设备唯一标识 

resolution

屏幕分辨率

deviceType

设备类型

deviceId

设备id

uuid

通用唯一识别码(Universally Unique Identifier)

app

手机软件

appid

软件id

appVer

软件版本

release_ch

发行渠道

promotion_ch

升级渠道

loc

位置

areacode

地区代码

longtitude

经度

latitude

纬度

carrier

运营商

netType

网络类型

cid_sn

ip

网际互连协议(Internet Protocol)

sessionId

会话id

timestamp

时间戳

    1. 功能描述
      1. 流量概况分析

各个维度下的流量概况,如:pv数、uv数、访问次数等折线图及明细报表,维度包括:省份、城市、区县、设备类型、操作系统名称、操作系统版本、发行渠道、升级渠道。

      1. 日新日活分析

各个维度下的日新或日活数柱状图及明细报表,维度包括:省份、城市、区县、设备类型、操作系统名称、操作系统版本、发行渠道、升级渠道。

      1. 交互事件分析
  1. 交互事件概况分析

各个事件发生的总次数和总人数折线图及明细报表。

  1. 交互事件用户Top10分析

各个事件维度下,事件发生次数最多的前10个用户的柱状图及明细报表,维度包括:投诉事件、点击事件、打开事件、浏览事件、点击频道事件、评论事件、进入选项事件、点赞事件、获取代码事件、下载事件、登录事件、搜索事件、分享转发事件、报名事件、查看内容详细信息事件、网页停留事件。

      1. 广告事件分析

每个广告的曝光次数、曝光人数、点击次数、点击人数的折线图及明细报表。

  1. 架构设计
    1. 名词解释

ODS层:操作数据存储(Operational data storage),存放原始数据,它的作用就是备份。

DWD层:细节数据层(data warehouse detail ),对 ODS 层的数据进行数据清洗,同时对清洗后的数据生成结构与粒度相同的明细表。

DWS层:应用程序数据存储(Application Data Store),服务数据层(data warehouse service),以 DWD 为基础,进行轻度聚合的表。

ADS层:联机分析处理(Online Analytical Processing),以 DWS 或 DWT 为基础,为各种统计报表提供数据。统计报表就是要进行展示的表。

    1. 系统环境
      1. 软件

Hadoop、Spark、Hive、Presto、Echarts、SpringBoot。

      1. 硬件

集群中共三台节点,每台节点内存3G、CPU 2 核、磁盘分别为50G、20G、20G。

    1. 系统设计

数据采集:通过模拟数据产生

数据存储:HDFS、Hive

数据计算:Spark、Hive

数据可视化:Echarts、SpringBoot

    1. 系统架构图

基于大数据技术的用户日志数据分析及可视化平台搭建项目代码及数据集_第2张图片

  1. Web原型设计
    1. 流量概况分析模块

基于大数据技术的用户日志数据分析及可视化平台搭建项目代码及数据集_第3张图片

    1. 日新日活分析模块

基于大数据技术的用户日志数据分析及可视化平台搭建项目代码及数据集_第4张图片

    1. 交互事件分析模块

基于大数据技术的用户日志数据分析及可视化平台搭建项目代码及数据集_第5张图片

基于大数据技术的用户日志数据分析及可视化平台搭建项目代码及数据集_第6张图片

    1. 广告事件分析模块

基于大数据技术的用户日志数据分析及可视化平台搭建项目代码及数据集_第7张图片

  1. Web设计
  1. 技术选型:SpringBoot
  2. 前端:Echarts
  3. 数据库:Hive
  4. 数据库访问:JDBC
    1. 概念总览图

基于大数据技术的用户日志数据分析及可视化平台搭建项目代码及数据集_第8张图片

基于大数据技术的用户日志数据分析及可视化平台搭建项目代码及数据集_第9张图片

      1. 分层:四层结构
  1. 视图层:视图根据接到的数据最终展示页面给用户浏览。
  2. web控制层:响应用户请求。
  3. 业务逻辑层:实现业务逻辑。
  4. 数据访问层:访问数据库。
      1. 分包:前端和后端
  1. 后端分包

你可能感兴趣的:(大数据,数据分析,数据挖掘)