27.session访问时长和步长占比本地测试

来源:互联网 发布:php 获取系统信息 编辑:程序博客网 时间:2024/06/04 21:36

本文为《Spark大型电商项目实战》 系列文章之一,主要介绍之前实现的访问时长和访问步长所占比例在本地进行测试。

说明

对于Accumulator这种分布式累加计算的变量的使用,有一个重要说明:
从Accumulator中,获取数据,插入数据库的时候,一定要,一定要,是在有某一个action操作以后再进行,如果没有action的话,那么整个程序根本不会运行。
必须把能够触发job执行的操作,放在最终写入MySQL方法之前。
计算出来的结果,在J2EE中,通常是用两张柱状图显示。

System.out.println(filteredSessionid2AggrInfoRDD.count());//计算出各个范围的session占比,并写入MySQL        calculateAndPersistAggrStat(sessionAggrStatAccumulator.value(), task.getTaskid());

MySQL数据库设置

使用SQLyog工具在MySQL的sparkproject数据库中创建task表,表结构如下
这里写图片描述

在“询问”-“2表数据”中的task_param中输入以下内容并保存
这里写图片描述
这里的startdate和enddate日期都是测试当天的日期,因为生成的模拟数据日期是当天的,所以在本地测试的时候这里的日期也要改为测试当天的日期

测试结果

首先运行UserVisitSessionAnalyzeSpark.java,如果没有报错,运行正常的话可以在MySQL数据库的session_aggr_stat中看到类似如下数据
这里写图片描述

本文为《Spark大型电商项目实战》系列文章之一。
更多文章:Spark大型电商项目实战:http://blog.csdn.net/u012318074/article/category/6744423

0 0
原创粉丝点击