首页 理论教育 数据测试和处理技巧与方法

数据测试和处理技巧与方法

时间:2023-07-02 理论教育 版权反馈
【摘要】:在上一节中已经演示了将测试数据采用不同的方式导入到Hive数据仓库中,在本节中所有的数据处理操作均在Spark SQL环境下实现。

数据测试和处理技巧与方法

在上一节中已经演示了将测试数据采用不同的方式导入到Hive数据仓库中,在本节中所有的数据处理操作均在Spark SQL环境下实现。

1.统计UV数据

UV是指一个页面被多少用户访问过,一个用户多次访问同一页面为1个UV。

下面的代码显示了,针对某天(2016年4月24日)浏览网页的用户,UV数最多的10个用户的用户ID和UV数:

2.统计PV数据

用户每1次对网站中的某个网页的访问均被记录1次,也就是1个PV。用户对同一页面的多次访问,访问量累计,也就是统计为多个PV。

下面的代码为,在某天(2016年4月24日),网页浏览次数(PV)统计量最多的前10个排名。

3.用户跳出率统计

用户跳出率是分析网站性能的重要指标,是指用户只访问了入口页面(例如网站首页)就离开的访问量与所产生总访问量的百分比。本节用户跳出章计算方法为:只浏览了一次网站的用户与浏览网站的总用户数的比。下面的代码为先计算某天(2016年4月24日)浏览网站的总用户数。

再计算只浏览了一次网站的用户数。

最后,计算出用户的跳出率。

通过将Double类型转换为BigDecimal类型可以计算更高精度的用户跳出率:

当然,在实际环境中,肯定要针对往往某个模块或某个网页进行更加精准的用户跳出率的计算,以便网站的设计者对该网站的模块或网页进行优化处理。

4.统计新用户注册比例

网站的新用户注册比例,也就是该网站新用户的访问数与每天注册用户数的比率。

首先计算每天注册的用户数:

接着,计算网站新用户的访问数,在本例中也就是用户ID为0的用户数:

最后,计算网站的新用户注册比例:

5.统计热门板块排名

本节案例使用Java实现了热门板块的排名(例如:网站板块可以设计为“大数据”“人工智能”“云计算”等,热门板块的排名可统计哪些网站板块最热门,点击率最高。)同时也使用Java实现了PV、UV、页面跳出率、新用户注册比例统计的功能。

具体步骤如下:

1)初始化JavaSparkContext及HiveContext。(www.xing528.com)

2)pvStatistic函数:计算PV。

●进行子查询subquery,根据日期,页面ID分组,从数据库表userlogs中查询昨天的浏览记录,包括日期、页面ID、pv数等;

●从子查询subquery中查询,根据pv数降序排序,最终查询日期、页面ID、pv数等内容。

3)hotChannel函数:计算热门板块。

●进行子查询subquery,根据日期,板块分组,从数据库表userlogs中查询昨天的浏览记录,包括日期、板块、板块点击数channelpv等内容;

●从子查询subquery中查询,根据板块点击数channelpv降序排序,最终查询日期、板块、板块点击数channelpv等内容。

4)uvStatistic函数:计算UV数。

●进行子查询subquery,根据日期,页面ID,用户ID分组,从数据库表userlogs中查询昨天的浏览用户,记录包括日期、页面ID、用户ID等内容;

●进行子查询result,根据日期,页面ID分组,从子查询subquery中查询日期、页面ID、UV数等;

●从子查询result中查询,根据UV数降序排序,最终查询日期、页面ID、UV数等内容。

5)jumpOutStatistic函数:计算页面跳出率。

●统计昨天浏览网页用户数;

●进行子查询,根据用户ID分组,查询昨天浏览网页且只浏览1次的用户数。

●然后从子查询中统计昨天只浏览1次的总用户数;

●将只浏览1次的总用户数除以浏览网页用户数计算出用户跳出率。

6)newUserRegisterPercentStatistic函数:计算新用户注册的比例。

●统计昨天浏览网页及用户ID为空的用户数;

●统计昨天注册的用户数;

●将注册用户数除以浏览用户数计算出新用户注册比例。

通过上述代码,读者可通过执行上述代码,查询验证各项排名结果。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈