93.Spark大型电商项目-页面单跳转化率-计算页面流起始页面的pv

目录

代码

PageOneStepConvertRateSpark.java


本篇文章记录页面单跳转化率-计算页面流起始页面的pv。

代码

PageOneStepConvertRateSpark.java

 /**
     * 获取页面流中初始页面的pv
     * @param taskParam
     * @param sessionid2actionsRDD
     * @return
     */

    private static long getStartPagePv(JSONObject taskParam, JavaPairRDD> sessionid2actionsRDD){

        String targetPageFlow = ParamUtils.getParam(taskParam,Constants.PARAM_TARGET_PAGE_FLOW);
        final long startPageid = Long.valueOf(targetPageFlow.split(",")[0]);
        JavaRDD startPageRDD = sessionid2actionsRDD.flatMap(
                new FlatMapFunction>, Long>() {
                    private static final long serialVersionUID = 1L;
                    @Override
                    public Iterator call(Tuple2> tuple) throws Exception {
                        List list = new ArrayList();
                        Iterator iterator = tuple._2.iterator();
                        while (iterator.hasNext()){
                            Row row = iterator.next();
                            long pageid = row.getLong(3);
                            if (pageid == startPageid){
                                list.add(pageid);
                            }
                        }
                        return list.iterator();
                    }
                }
        );
        return startPageRDD.count();
    }

 

你可能感兴趣的:(大数据,spark,电商用户行为分析)