基Action户行分析数台
Actionbased user behavior analytics big data platform
容摘
电商台作前受欢迎热度高台流量高数量数种类
文利逆工程思维现热度高流量高数量电商网站台户行收集js脚进行分析方面脚采集数进行判断推测具体容现系统数进行整合存入应文件系统等处理项目通系列计算分析分析统计结果视化方式进行展示
文设计实现款基Action数分析数台实现容包括数获取数仓库设计数分析理数视化中数获取部分包括数前置机接入数仓库MapReduce进行处理存放进HDFS文件系统Hive统建库实现数仓库初步理实现数全量接入功数标功目录规范命名功表路径名称命名规范功专题库建设功数标准化功然基标准库数进行数分析数分析部分包括session粒度报表抽取功热门商品统计功流量高物session抽取功活跃户统计功黑名单拦截功区域热门商品统计功页面单跳转率统计功等数分析进行数视化利javaweb技术实现数库分析数进行视化功
文创新点体化数分析程数治理数分析挖掘进行数视化数治理采全新数仓库分层结构数挖掘实现分布式数分析算法视化采echatrs+springboot结构视化工具进行数视化
务需求发送理员理员务参数封装JSON格式数传数库然调已封装SparkSubmit Jar包务会正式分布式环境运行直务结束返回数库查确认前端视化页面见效果该项目启发性项目具公性需根线实际数进行应调整具数分析标志性作
关键词:SparkHadoop数分析数仓库视化
Abstract
As the most popular and hottest platform ecommerce platform has high flow large amount of data and many kinds of data
In this paper we use the reverse engineering thinking to analyze the JS script of user behavior collection from various ecommerce website platforms with high heat high flow and large amount of data judge and speculate the specific content of the script collection data from various aspects integrate it with the existing system data store it in the corresponding file system for processing and finally through a series of projects The results of analysis and statistics are displayed in a visual way
This paper mainly designs and implements an action based data analysis big data platform which mainly includes big data acquisition data warehouse design data analysis management and data visualization The data acquisition part includes data access from the frontend computer to the data warehouse MapReduce processing storage into the HDFS file system and then use hive to build a unified database to realize the preliminary management of the data warehouse mainly realizing the full access function of data data benchmarking function directory specification naming function table path and name naming specification function and special database construction function data standardization function Then based on the data of the standard database the data analysis part mainly includes the report extraction function of session granularity hot goods statistics function session extraction function of the highest traffic figure active user statistics function blacklist interception function regional hot goods statistics function page single jump rate statistics function etc Finally the data after data analysis is visualized mainly using java web technology to realize the function of data visualization after database analysis
The main innovation of this paper is the integrated data analysis process from data governance to data analysis mining and finally data visualization Data governance adopts a new hierarchical structure of data warehouse and data mining to realize the distributed data analysis algorithm Visualization adopts the visualization tool of echatrs + springboot as the main structure for data visualization
The task requirement is sent to the manager The manager encapsulates the task parameters into JSON format data and uploads it to the database Then we call the SparkSubmit Jar package that we have encapsulated The task will run in our distributed environment formally until the task is finished we can go back to the database to see the confirmation and finally we can see the effect on the front end visualized page This project is an enlightening project which is not public use It needs to be adjusted according to the actual data of the first line but it has the symbolic role of big data analysis
Key words Spark Hadoop big data analysis data warehouse visualization
目录
容摘 2
Abstract 4
第1章 绪 1
11 课题研究背景意义 1
12 互联网数分析研究现状 1
13文研究容 2
第2章系统开发工具技术基础 4
21开发环境介绍 4
22 系统开发工具 4
22技术架构分析 6
221 Hadoop简 6
222 Spark简 7
223 Kafka简 8
224 Zookeeper简 8
225 Hive简 8
226 数仓库简介 8
23 算法介绍 9
第3章数仓库设计检测 10
31文设计数仓库结构 10
33 数仓库分层设计 11
34数仓库规范设计实现 12
341 台账梳理 12
342 规范路径名称 13
343 规范表名名称 14
344 规范题库名称路径 15
345 数仓库业务逻辑 15
35文设计数仓库具体配置 19
351 mysql基设计 19
352 hadoop基设计 19
353 hive基设计 22
354 层级路径建立 23
355 数导入前置机说明 24
356 数导出(全量增量) 25
36 章结 26
第4章户行分析功设计 27
41 简说明 27
42标准化Action户访问session分析 27
43 session粒度户页面单跳转化率 29
44基session粒度访问时长统计 30
45基session粒度访问步长统计 31
第5章总结展 33
51总结 33
52展 33
参考文献 34
致谢 35
第1章 绪
11 课题研究背景意义
中国济年告诉发展互联网关系分割中国科技国互联网数日益增互联网性千奇百怪没固定统复杂样数庞性穿梭网络中互联网理者知道导致法限度服务众
性互联网开发者统称数现数前端流量时代谁掌握数前端谁握需求获支持做讲杂乱数整理分类进行存储进步研究规律快精确情况推出产品优化方案生活体验者交易体验现实生活中般会信息进行视化视化数更加够出中规律特数学特眼中会精准提出问题解决方案提高工作效率业绩直接者间接性推动社会发展
现数爆发时代数分析已成未工智必然趋势够获取切合身利益重载体切基础前提毕设目
12 互联网数分析研究现状
理研基础研究现国IT互联网行业结合行业展开种数挖掘分析建模等操作工智做铺垫现国家较支持数研究更加拓宽发展道路
技术研基础研究传统数仓库理时适配现正流行批量式离线实时相结合流框架程
具体运中Spark做前段时间离线计算分析会提高时间成资源成相较传统MapReduce说更快捷占资源更少开发更加轻巧
实际运层面Spark现中型数分析(10亿级)时兼容javascalapythonR语言等开发语言开发非常便捷伸缩性容错性非常强运行存运行磁盘中chkpoint机制够保证中途数丢失情况够快原数中心重新计算出数需二次运行
传统挖掘技术实际应领域中测量仪器限定会造成定量误差导致测量值准确数存解决信息确定性
数获取象象分析方法性户交互浮现出许研究性实践性课题数获取带诸问题挑战
2获取数问题
现2020年中国着电商巨头淘宝京东天猫拼等电商台名许流量数数互通涉隐私违法分子滥信息进行诈骗三果家真实数便研究道侵犯隐私法律层面非常明智研究阶段够代表性数进行试验相关方法带前线中实践
3数分析程序性问题
数分析程序性时应考虑问题
(1)否存许文件(磁盘IO问题)
(2)单体文件否太()
(3)分配务运行节点数节点率
(4)务参数配置
(5)务行度配置
(6)数倾斜问
4针述问题解决方案
(1)配置单体文件存储设计中32MB分块
(2)设置务调度方式FIFO运行务总量2
(3)设置mapreduce数量台机器运行
(4)设置spark务行度2两台机器运行存较配置合适值
(5)hashpartition进行数分区节点运行压力均等宕机
13文研究容
文分析互联网电商户种行分析获取数技术方法进行剖析解释
围绕着数获取数仓库建立历步骤
(1) 首先设计中独立搭建套Google日志采集方案获取日志中查日志模型网页中日志嵌入点嵌入方式电商台抓包观察提交日志格式抽取出研究相关日志类型观察数类型基手中现数进行数规范建立建立数仓库
(2) 高发方式全力生产项目需日志格式化放入HDFS文件系统中Hive进行建表进行数仓库理
(3)java进行原生spark开发进行系列数分析数存储关系型数库中
(4)javaweb技术进行视化功生成报表者图形形式展示方式
第2章系统开发工具技术基础
21开发环境介绍
次数仓库数分析设计软件环境运行存求较高少16G存建议7台左右实体服务器设计中虚拟机系统win10专业版英特尔cup项目软件硬件台环境表21示
表21:环境需求表
台
工具
数库
mysql5540win64
开发工具
IntelliJ IDEA社区版专业版等
数开发软件环境
hadoop260cdh560targzhive110cdh560targzkafka_292081tgzspark161binhadoop26tgzzookeeper345targz
数开发硬件环境
VMware Workstation Pro 14CentOS67x86_64binDVD1iso4GRAM+20GROM2CORE+2CPU虚拟化引擎
SSH连接工具
SecureCRSecureFXPortable64
Mysql连接工具
WebyogSQLyog Ultimate
Java环境
JDK8(机虚拟机系统)
浏览器
谷歌浏览器
22 系统开发工具
1端开发工具IntelliJ IDEA
IntelliJ IDEA 款集成种方案开发工具中包括javascalakotlin等开发语言开发方式种样现代技术中javaweb技术开发包括老版jsp开发甚通插件方式开发前端页面现流行springbootspringcloud等微服务框架面前首屈指开发工具新建务页面中加入spring等webcore微服务等构建等非常方便快捷开发置maven3许手动配置maven根需求换国阿里云镜服务现更方便gradle现日益新增技术工具兼容方面更新速度非常快需担心工具问题IDEA系列般付费软件社区免费版功全面IDEA 学生学期间免费试开发工具选择款开发工具进行设计编程工具
设计中idea开发务担关重角色maven解决配置赖问题package进行包操作编译速度运行流畅度远远高myeclipse中生成务流程图插件生成程序流程图相方便快捷idea中设置文件夹层级代码层src配置文件resources开发时项目外层新建配置文件文件夹开发复杂性降低设计中idea+maven组成基开发求纯原生sparkjdbc进行开发
2VMwareCentOS67
VMware解决全球云计算方案电脑空闲连续者非连续存储出然虚拟成操作系统限制范围会发生干扰情况centos系列系统专业服务器类型系统核代代优化方案成现流服务器系统加VMware配合现云计算数领域时正常研究中需世纪现实服务器集群成高耗资
3mysql数库
Mysql数库现较流行中型数库轻量级便捷开发十亿数量级择优选择常web开发端数存储终端现流行开发语言javapython等标准数库驱动规范相齐全
4 SecureCRSecureFXPortable64
SecureCRSecureFXPortable款类似xshellSSH连接工具相xshell等连接说该工具较轻量级优势意传机文件需拖拽文件中带xftp传工具轻量速度快够满足设计基需求
5WebyogSQLyog Ultimate
WebyogSQLyog Ultimate SQLyog Ultimate升级版数库连接工具具原历史会话功该工具需刻意保存sql语句文件动存储前sql版非常方便担心丢失sql信息
22技术架构分析
数生态圈hadoop开始形成巨生态系统生态系统中软件层出穷图数生态圈总结含实时计算日线计算图计算存计算行式数库列式数库等设计中Hadoop离线计算框架Spark弹性式RDD进行计算Hive进行数仓库建立理kafka进行实时数理Zookeeper作统协调分布式系统服务致性确保接中部分设计中重软件做致介绍说明
图21 数生态圈结构
221 Hadoop简
Hadoop数开发起源鼻祖现数软件全部hadoop集成形成特殊hadoop生态圈图示hadoop分hdfs分布式分片文件存储系统yarn资源调度系统
HDFS作hadoop文件存储重核心数基础通NameNode作理节点理数元数NameNode作数存储节点存储数分片HDFS具分片存储功相较传统单文件存储说突破硬盘限制集群硬盘资源统成存储中心文件分层128M(默认)文件存储存储中心分片存储3(默认)通机架感知技术分片分散机架保证信息安全性隔段时间系统会检测损坏hdfs分片机器复制覆盖损坏分片
YRAN作hadoop计算核心ResourceManager作资源分配中心理NodeManager作资源运行节点yarn运行方式理念基云计算调意数量系统分配资源分布式台机器统进行务资源分配单机器运算压力减分布式IO成计算瓶颈数量数集群中传输十分缓慢计算集群般网通线传输距离通特网Yarn代框架中存计算例spark务yarn运行sparkRDD身弹性分布式数组RDD形成DAG(环图)分布式设计完美契合yarn分布式调度框架
222 Spark简
Sparkhadoop类似款数计算框架样分布式拥hadoopMapReduce计算框架优点MapReduce计算框架中间结果保存存中shuffle程数存中磁盘中做读写HDFS数更加快捷
图22 hadoopspark运行效率较图
Sparkscala语言作原生开发面函数开发方便快捷scalajava够完美兼容两者运行jvm虚拟机中 java scala结尾文件javac命令进行编译生成class文件scala中意调java代码语法规样兼容java语法设计中java作开发语言纯手写原生开发spark程序
223 Kafka简
Kafka消息中间件分布式形式赖ZK作消息元数存储中心速度快毫秒级响应数查找中费时间寻址普通存储方式数分散块磁盘址中连续寻址时间长kafka消息中间件设计中broker址连续寻址时间花时间非常少速度快重原Kafka赖磁盘作存储工具HDFS分布式文件系统存中开辟段连续址作ZK作元数理集群设置节点注重读写具强健壮性
224 Zookeeper简
Zookeeper作分布式应分布式应提供致性服务Hadoop配置节点时保证唯单次节点运行关键服务时线程安全方面ZK提供分布式锁方案检测永久节点时节点队列理等
225 Hive简
Hive作设计中核心数理中心数仓库重组成成分Hivemysql行式存储数库hive非关系型数库Hive存储hdfs文件系统计算力(聚合函数union等)yarn分布式计算框架Hivejoin特殊优化速度相较传统join较快设计中会结合sparksql理hive计算存进行数计算更换底层yarn分布式极端框架数研究更快spark代码逻辑计算出结果
226 数仓库简介
数仓库英文名称Data Warehouse数仓库设计意义说专门企业级定制种服务帮助企业做决策决策产生通数仓库数进行数学层面分析数般删会进行数积累果磁盘存储情况意存储规定般存储13月
23 算法介绍
数治理数分析中spark开发中许算法定义工具通spark进行实现介绍
1时间例机抽取算法
传统机抽取数算法基思想设置机种子然数总索引中出机索引然根抽取索引数设计算法总体思路分两步第二步思想传统抽取算法相首先根时间区分整数分布样数划分时间区间中然计算出时区数应总数占然抽取总数条数*时区数占时区需抽取数数量然根传统数机抽取算法机时区中数实现时间例机算法
2RDD二次排序算法
排序算法指根数某属性长短等性质进行较区分出条数优功二次排序指根数属性进行较排序单单两属性设计中Spark中RDD弹性式分布式数集合中数满足排序基需求设计排序算法销量统计模块统计销量通点击单购买三属性进行排序点击次数优先级高单次数次购买行通优先级高较完成果优先级够确认久进行层级较级进行级较层级相默认选取第条数
3页面流匹配算法
设计中页面匹配算法数映射成
4分组取topN算法
设计中算法设计先筛选Action数筛选Action数进行分类样类似sql中group by 操作然分组数进行排序中需二次排序算法然分组排序前十果足10商品全部取出
第3章数仓库设计检测
31文设计数仓库结构
标准数仓库分层模式分四层级ODS(时存储层)PDW(数仓库层)DM(数集市层)APP(应层)
图321 传统数仓库模型图
根种传统数仓库分析研究结合优缺点项目数仓库层级进行优化改进终数仓库分层模型
图322 新型数仓库结构模式结构图
33 数仓库分层设计
文设计数仓库4层第层数源层第二层数准备层(STG)第三层操作数标准层(ODS)维度层(DW)数应层(ADM)具体层功设计说明:
1 元数分层前面应该先段描述句行说标准数仓库采分层结构设计通常情况包括元数等层次具体层功介绍:
1
2
元数数描述
元数具体指表数描述定义出数中文含义数绑定起记录数库中数层级中传递
2 数源
数源外部数总称
数源具体指行业数表中抽取数设计中具体指电商网站台数表中抽取数设计数源
3 数准备层(STG)
数准备层接入数源层
数准备层中数基格式字段名称基变化唯操作数表中增加特标识标识数属单位作分层开始
4 操作数标准层(ODS)
操作数标准层标准化stg层
操作数标准层中根数仓库定义标准函数数进行第次标准化清洗数整齐划stg层表中需加入操作时间属性记录前操作时间需加入负责行列存入元数中数溯源数标准层数已达初步数规
5 维度层
维度层抽取ods层标准化数层
维度层分明细数层(DWD)汇总数层(DWS)
明细数层汇总数层两层类两层较特殊面层实务逻辑没特关联ods层拥非常庞数量时候两层开始发挥作ods层收集海量种样数两层开始ods层中抽取种题数文理海洋生活等专题库然开始做更深层次数挖掘
6 应数层(ADM)
应数层抽取ods层标准化数层
数应层根前实情具体求指定体规范表然根专题库特性ods层中抽取数设计中制定关电商户行专题库设计表规范根字段进行设计相应数分析理想结果
图331数流图图里面直接抽取清楚前面部分彩色图片建议整篇文图片风格统
34数仓库规范设计实现
数仓库建立需制定相应命名规范存储规范规范省市规范文件中规定包括字段类型数规范需应特殊函数校验工作部分政府文件中校验规例证件类型证件号码等
341 台账梳理
台账梳理具体指接入原始表进行相应记录文形式设计中excel形式记录接入原始表图31 台账目录表示
图图名
图31 台账目录表
原始表中字段命名规范含义需根名称具体判断步会耗费量时间图未命名中文含义原始表台账图32 原始台账表示
图32 原始台账表
342 规范路径段开始前先说明然具体说明层表规范
名称
路径设立方便表文件存储非关系型数库文件存储问题文件存储路径更重合适规范路径够简化治理时间成
方便文数理数治理规范需文件存放路径进行约束规范路径表31 层级路径规范表示
表31 层级路径规范表
层级名称
规范路径
stg层
{root}whdatastg{表名}update{数生成时间戳}
ods层
{root}whdataods{表名}update{数生成时间戳}
dwd层
{root}whdatadwd{表名}update{数生成时间戳}
adm层
{root}whdataadm{表名}update{数生成时间戳}
tmp_时表目录
{root}whdatatmpstg{表名}ustotal{数生成时间戳}
{root}whdatatmpstg{表名} ustotal{数生成时间戳}
{root}whdatatmpstg{表名} ustotal{数生成时间戳}
{root}whdatatmpstg{表名} ustotal{数生成时间戳}
343 规范表名名称
1表名
表名中包含字母划线字母开头符合驼峰命名法表名长度般超35字符
(1) STG层规范名称:
ODS_{应名称}_{表名}
(2) ODS层规范名称:
ODS_{应名称}_{表名}
(3) DW层规范名称
DWD_{应名称}_{表名 }
DWS_{应名称}_{表名}
(4) ADM层规范名称
ADM_{应名称}_{表名}
2字段名称
(1)stgods层字段中文名称首字母写
(2)stgods层字段中文名称首字母写
(3)adm层题库规范字段名名称
(4)DWDDWS层题库专字段名称
3时表
应层数构建中间统计模型计算者结果合等务结果存放
表名字母(a~z)划线(_)组成字母开头中字母全部写
TMP_ADM_{时表名}
中表名采英文(者缩写)方式命名分隔符划线
字段名参考汇总层相关字段名称
344 规范题库名称路径
题库规范具体指根需求生成相应专题库专题库名称专题库中字段需规范然根字段含义ods标准库中抽取应数专题库中果数量需时表先收集数命名规范路径规范严格参标准然时表中重数抽取adm层专题库中
345 数仓库业务逻辑
数仓库基业务逻辑图12数仓业务逻辑图进行数处理
图12数仓业务逻辑图
第步数抽取canguanxunishenfengsangpinshiming四张表抽取stg层增加WH_ID字段标识抽取命名列数建议表表规范格式表头
STG_DSSJFX_USER_VISITSTG_DSSJFX_USERSTG_DSFX_PRODUCTSTG_DSFX_RELUSER
述四表存放路径表31 STG存储路径设计表示
表31 STG存储路径设计表
STG层表名
路径
STG_DSSJFX_USER_VISIT
bgdata_fileserviceuserswhwenhuidamldata stg STG _DSSJFX_USER_VISIT
STG_DSSJFX_USER
bgdata_fileserviceuserswhwenhuidamldata stg STG _DSSJFX_USER
STG_DSFX_PRODUCT
bgdata_fileserviceuserswhwenhuidamldata stg STG _DSFX_PRODUCT
STG_DSFX_RELUSER
bgdata_fileserviceuserswhwenhuidamldata stg STG _DSFX_RELUSER
第二步数勘探字段进行中文描述添加标签写入元数中步较繁琐数规整花费时间长图示数字段进行数勘探元数理层添加字段描述根系统标签数添加相应分类标签
第三步标标含义实际数清洗规类似数进行标准化程身份证号进行校验身份证类型做判断址中抽取省份市级乡县等字段具体函数32 函数介绍表示
32 函数介绍表
函数名
功
参数
返回值
例
logic_decode
匹配结果功提供三组匹配关系
进行匹配参数
匹配条件
输出结果
匹配条件
输出结果
匹配条件
输出结果
[String]匹配结果
logic_decode(sex '男' '1' '女' '0'’null’) 1
human_idno_sfz_validate
校验身份证否合法具体校验规进行格式校验
身份证号码
符合格式校验身份证
human_idno_sfz_validate ('654021200801023513') 654021200801023513’
human_idno_sex
根身份证号提取性(该方法会事先身份证进行校验需结合身份证校验函数human_idno_validate(String idCard))
身份证号支持1518位身份证
返回男性女性
human_idno_sex('654021200801023513') 女性
标准化函数处理表ODS层(数标准层)中存储路径表33 ODS存储路径设计表
ODS表名称
路径
ODS_DSSJFX_USER_VISIT
bgdata_fileserviceuserswhwenhuidamldata ods ODS _DSSJFX_USER_VISIT
ODS _DSSJFX_USER
bgdata_fileserviceuserswhwenhuidamldata ods ODS _DSSJFX_USER
ODS _DSFX_PRODUCT
bgdata_fileserviceuserswhwenhuidamldata ods ODS _DSFX_PRODUCT
ODS _DSFX_RELUSER
bgdata_fileserviceuserswhwenhuidamldata ods ODS _DSFX_RELUSER
第四步数应层(ADM)数抽取首先进行表设计设计需求总设计三张表user_visit_actionpriduct_infouser_info表33 user_visit_action表表34 user_info表表35 product_info表示
表33 user_visit_action表
字段
类型
date
varchar(20)
user_id
varchar(20)
session_id
varchar(20)
page_id
varchar(20)
action_time
varchar(20)
search_keyword
varchar(20)
click_category_id
varchar(20)
click_product_id
varchar(20)
order_category_ids
varchar(20)
order_product_ids
varchar(20)
pay_category_ids
varchar(20)
pay_product_ids
varchar(20)
city_id
varchar(20)
表34 user_info表
字段
类型
user_id
varchar(20)
username
varchar(20)
name
varchar(20)
age
varchar(20)
professional
varchar(20)
city
varchar(20)
sex
varchar(20)
表35 product_info表
字段
类型
product_id
varchar(20)
product_name
varchar(20)
extend_inf
varchar(20)
ADM层(数应层)命名规范抽取规需字段基础增加四字段 WH_ID (复合键)CREATE_TIME (创建时间)UPDATE_TIME(更新时间)SRC_TABLE(源表)
存储路径表36 ADM存储路径设计表示:
表36 ADM存储设计表
ADM表名称
路径
ADM_DSSJFX_USER_VISIT
bgdata_fileserviceuserswhwenhuidamldata adm ADM _DSSJFX_USER_VISIT
ADM _DSSJFX_USER
bgdata_fileserviceuserswhwenhuidamldata adm ADM _DSSJFX_USER
ADM _DSFX_PRODUCT
bgdata_fileserviceuserswhwenhuidamldata adm ADM _DSFX_PRODUCT
ADM _DSFX_RELUSER
bgdata_fileserviceuserswhwenhuidamldata adm ADM _DSFX_RELUSER
35文设计数仓库具体配置
关数仓库配置设计中通标准化数仓库设计更加具生产力设计结合实际进行设计达具广泛种模式中基配置信息会面结介绍
351 mysql基设计
文设计数仓库中中mysql作hive元数存储仓库终视化数存储仓库hive更稳运行加速视化时数查询速度
1 开放root远程权限开放库权限实现远程连接功
2建立hive元数表(hive)设置字符集latin避免MapReduce法运行中文乱码问题
352 hadoop基设计
首先需基础环境搭建jdk18然设置环境变量etcprofile 目录设置jav_home设置path然javajavac命令进行验证基础环境搭建完成进行hadoop搭建首先进入hadooporg官网载hadooptargz包26版wget命令进行载载完成进行文件解压解压完成进入目录然配置etchadoop中配置文件中配置
1 hadoopenvsh 配置图31 hadoopenvsh 配置信息图示
图31 hadoopenvsh 配置信息
2 coresitexml 配置图32 coresitexml 配置信息图示
图32 coresitexml 配置信息
3 hdfssitexml 配置图33 hdfssitexml 配置信息图示
图33 hdfssitexml 配置信息
4 mapredsitexml 配置图34 mapredsitexml 配置信息图示
图34 mapredsitexml 配置信息
5 yarnsitexml 配置图35 yarnsitexml配置信息图示
图35 yarnsitexml配置信息
配置完成hadoop整解压包发送机器者配置文件发送行操作图36 linux执行命令图
图36 linux执行命令
意机器启动sbin目录startallsh脚通jps查相应进程
353 hive基设计
配置hive方式两种第种带Derby数库种外部库(mysql)里mysql库
进入hiveapacheorg 官网载098hive压缩包理wget载载文件tar zxvf解压进入目录配置confhivesitexml文件中配置图36 hivesite配置信息图示
图36 hivesite配置信息图
配置完成先启动hadoop然启动hive目录binhive够开hive客户端基sql语句进行查询操作更定制化函数操作
354 层级路径建立
hadoophdfs文件系统中首先先建立数治理层级路径限定数治理数存储问题
1STG层目标路径建立linux命令
hadoop fs mkdir p bgdata_fileserviceuserswhwenhuidamldatastg
2ADM层目标路径建立linux命令
hadoop fs mkdir p bgdata_fileserviceuserswhwenhuidamldata adm
3ODS层目标路径建立linux命令
hadoop fs mkdir p bgdata_fileserviceuserswhwenhuidamldata ods
4DWD层目标路径建立linux命令
hadoop fs mkdir p bgdata_fileserviceuserswhwenhuidamldata dwd
5DWS层目标路径建立linux命令
hadoop fs mkdir p bgdata_fileserviceuserswhwenhuidamldata dws
6元数层目标路径建立linux命令
hadoop fs mkdir p bgdata_fileserviceuserswhtmpwenhuidamldata ysj
7时数层目标路径建立linux命令
hadoop fs mkdir p bgdata_fileserviceuserswhwenhuidamldata tmp
355 数导入前置机说明
数连接部分项目直接机器连接公司企业线数库机器连接企业整理n1数库样做保障公司身数库安全数外开放公司保留部分数具体实现数库连接时需该数台台台机器建立企业数库类型相匹配数库配置接应企业需接入表结构(数台账)发送数仓库负责然机器间建立应数库数表等部分数处理前置机
数前置机配置进行数导入数导入方式种样 jdbc连接数库利代码形式导入数等等设计中sqoop导入数mysql中全量导入数hdfs导入STG层bgdata_fileserviceuserswhwenhuidamldata stg {表名}样应设计中规范设计类数存储层级相数会混杂方便数治理
356 数导出(全量增量)
数处理部分需求会数需进行数分析设计中针需进行数分析数部分提供直接导出功直接数导出外部库(HDFSàmysql)数导出采sqoop增量导出方式保证数完整性具体导出方式图32 全量数超出配置图示
图32 全量数超出配置
需求数需数分析需直接数导出外部库(HDFSàmysql)sqoop增量导出体导出方式图33 增量数超出配置图示
图33 增量数超出配置
36 章结
数仓库建立中梳理数台账制定存储路径规范表名规范安装类数开源软件搭建数存储分析台数接入导出做明确示范搭建环境做测试模块间够进行兼容运行
第4章户行分析功设计
41 简说明
数台治理标准数需进行数挖掘计算想结果设计中挖掘市面常见数挖掘概念技术实现程中加优化
42标准化Action户访问session分析
标准化Action户访问session分析基户行(action)独代表性session进行分析设计模块中细分节
1 根时间例机抽取100条数生成日数报表
天数量巨眼数种情况现实需少量具代表性数进行观察设计中结合具体技术方案设计操作
首先session维度进行聚合然根json参数筛选session维度聚合数定义Accumulator进行数汇总进行滤数写入数库中样实现统计报表功
数存储mysql中javaweb技术进行数视化数库中查询务信息然序列象模式进行信息交互前端中显示页面图41 100报表统计图
图41 100报表统计
2 统计活跃session户top10
根session点击加入购物车单判断活跃户然取活跃户前10设计操作:
首先聚合session然根指标进行数滤滤数进行存点操作然进行二次排序操作take方法取前十条数然数写入mysql中
javaweb技术进行视化操作读取数库中数象存储序列化echarts视化图42 活跃户图
图42 活跃户
程中操作函数进行规范设计表41 session分析模块函数表示
表41 session分析模块函数
函数名称
函数说明
aggregateBySession
通session聚合
calculateAndPersistAggrStat
计算聚合session指标值
filterSessionAndAggrStat
滤聚合数
getActionRDDByDateRange
时间例算法
getClickCategoryId2CountRDD
ClickRdd转换
getOrderCategoryId2CountRDD
OrderRdd转换
getPayCategoryId2CountRDD
PayRdd转换
getSessionid2ActionRDD
SessionRdd粗略转换
getSessionid2detailRDD
SessionRdd细分
getSQLContext
环境获取
getTop10Category
前十物品获取方法
getTop10Session
前十session获取方法
joinCategoryAndData
Join
mockData
模拟数
randomExtractSession
机session方法
43 session粒度户页面单跳转化率
模块中统计户页面浏览情况统计总览户页面种范围性统计设计思路
首先获session粒度数然进行数滤筛选然进行数提取
数进行视化操作javaweb技术jdbc读取数库数定义jdbc工具定义连接池等技术结果图 44 户单跳转化率图示
图 44 户单跳转化率
程中操作函数进行规范设计表42 session计算点击函数表示
表42 session计算点击函数
函数名称
函数说明
computePageSplitConvertRate
计算缺页率入口
generateAndMatchPageSplit
分页匹配
getSessionid2actionRDD
SessionRdd转换action
getStartPagePv
初始页判断计算
persistConvertRate
解析合页面
44基session粒度访问时长统计
该模块功基session粒度数户访问时长进行统计分析设计思路:
首先原始数进行session粒度转化RDDsession粒度数中提取sessionid时间 然通sessionid进行分组计算分组sessionid浏览总时长然计算出组时长存入mysql数库中
通javaweb技术读取数库中数然echarts进行视化结果图45 访问时长统计图示
图45 访问时长统计
程中操作函数进行规范设计表43 访问步长函数表示
表43 访问步长函数
函数名
函数说明
generateTempAreaFullProductClickCountTable
中间计算时表1
generateTempAreaPrdocutClickCountTable
中间计算时表2
generateTempClickProductBasicTable
中间计算时表3
getAreaTop3ProductRDD
获取区前三商品
getcityid2ClickActionRDDByDate
城市idaction关联join
persistAreaTop3Product
数收集写入函数(高)
45基session粒度访问步长统计
该模块功基session粒度数户访问步长进行统计分析设计思路:
首先原始数进行session粒度转化RDDsession粒度数中提取sessionid页面id 然通sessionid进行分组然session页面id进行排序计算出连续步长统计然汇总mysql表中
通javaweb技术读取数库中数然echarts进行视化结果图45 访问步长统计图示
图45 访问步长统计
第5章总结展
51总结
基Action数分析台作毕业设计课题中汇总三方开发数治理数挖掘javaweb视化成整套完整数开发体系然行数建模确实方式进行相分析
设计点通整合开源数仓库模式设计出套更加稳健开放性高数仓库粗略制定路径规范表名规范sparksql连接sqllite3实现hivesparksql互设计关键基石分析阶段没什框架进行原生语言开发定义连接池手写jdbcutils连接工具定义常类存储配置名称java原生开发spark定义udf函数java开发hive单条函数java开发sparkudf函数窗口函数进行数滤
足安全性高基直接操作数源
52展
设计中许数治理流程实套固化模板接时间里希整理出固模板分享外解hue视化数工具进行二次开发样套数治理工具视化层面讲开始Tubleau更专业视化工具做出更图形界面方便观察
参考文献
[1]武新波 北斗车载终端云测试系统设计实现[C] 中国卫星导航系统理办公室学术交流中心第十届中国卫星导航年会文集——S08 测试评估技术中国卫星导航系统理办公室学术交流中心中科北斗汇(北京)科技限公司20208285
[2]朱焰互联网+环境基教学监测数分析高职教学评价工作探究[J]中国医学教育技术202034(02)221225
[3]郜峦王振国张丰聪域性中医学术流派评价素构建[J]中医杂志202061(08)686689
[4]鹏谢宣张渝赵波钱微冬兰州局机车轮档信息化建设思考实施[J]技术市场202027(04)123125
[5]郑文赵偲李泽堃武啸泽胡涛基Web数挖掘COVID19流行病学特征分析[JOL]电子科技学学报17[20200420]httpknscnkinetkcmsdetail511207T202004141108002html
[6]陈庞珣非洲恐怖袭击时空规律数分析——基GIS技术分离总体持续期模型[JOL]外交评(外交学院学报)2020(02)134[20200420]httpsdoiorg1013569jcnkifar202002121
[7]陈庞珣非洲恐怖袭击时空规律数分析——基GIS 技术分离总体持续期模型[J]外交评(外交学院学报)202037(02)121154+8
[8]超刘国柱基数分析高考志愿填报算法[J]青岛科技学学报(然科学版)202041(02)113118
[9]桐 航空航天:推动数融通数物融合[N] 中国电子报20200414(004)
[10]李昌松杨晓衡臧彦廷输煤皮带运行状态动检测系统[J]集成电路应202037(04)134135
文档香网(httpswwwxiangdangnet)户传
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档