35.Spark大型电商项目-用户访问session分析-session聚合统计之本地测试

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/someby/article/details/88171291

目录

本地测试问题以及解决方案

1.在task表中插入一条数据

​2.解决问题java.lang.NullPointerException: Value at index 6 is null

2.测试插入计算的访问时间和步长


本篇文章将介绍035.用户访问session分析-session聚合统计之本地测试。

本地测试问题以及解决方案

1.在task表中插入一条数据

insert into  task(task_id,task_name,task_param) values(1,'测试01','{"startAge":["10"],"endAge":["50"],"startDate":["2019-03-05"],"endDate":["2019-0305"]}');

2.解决问题java.lang.NullPointerException: Value at index 6 is null

测试spark版本:3.1.1

扫描二维码关注公众号,回复: 5623369 查看本文章

解决方案

2.测试插入计算的访问时间和步长

测试数据

确保startDate和endDate为数据测试当天的时间。 

计算的数据

(有问题的数据)


(没有问题的数据)

解决方案

修改数据类型

方便你我他

 //计算各个访问时长和步长的占比
        double visit_length_1s_3s_ratio = NumberUtils.formatDouble((double) visit_length_1s_3s/session_count,2);
        double visit_length_4s_6s_ratio = NumberUtils.formatDouble((double)visit_length_4s_6s/session_count,2);
        double visit_length_7s_9s_ratio = NumberUtils.formatDouble((double)visit_length_7s_9s/session_count,2);
        double visit_length_10s_30s_ratio = NumberUtils.formatDouble((double)visit_length_10s_30s/session_count,2);
        double visit_length_30s_60s_ratio = NumberUtils.formatDouble((double)visit_length_30s_60s/session_count,2);
        double visit_length_1m_3m_ratio = NumberUtils.formatDouble((double)visit_length_1m_3m/session_count,2);
        double visit_length_3m_10m_ratio = NumberUtils.formatDouble((double)visit_length_3m_10m/session_count,2);
        double visit_length_10m_30m_ratio = NumberUtils.formatDouble((double)visit_length_10m_30m/session_count,2);
        double visit_length_30m_ratio = NumberUtils.formatDouble((double)
                visit_length_30m/session_count,2);

        double step_length_1_3_ratio = NumberUtils.formatDouble((double)
                step_length_1_3/session_count,2);
        double step_length_4_6_ratio = NumberUtils.formatDouble((double)
                step_length_4_6/session_count,2);
        double step_length_7_9_ratio = NumberUtils.formatDouble((double)
                step_length_7_9/session_count,2);
        double step_length_10_30_ratio = NumberUtils.formatDouble((double)step_length_10_30/session_count,2);
        double step_length_30_60_ratio = NumberUtils.formatDouble((double)step_length_30_60/session_count,2);
        double step_length_60_ratio = NumberUtils.formatDouble((double)
                step_length_60/session_count,2);

猜你喜欢

转载自blog.csdn.net/someby/article/details/88171291
今日推荐