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

本文章记录了如何使用Spark计算页面流中的初始页面的PV,详细介绍了代码实现过程。

目录

代码

PageOneStepConvertRateSpark.java


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

代码

PageOneStepConvertRateSpark.java

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

    private static long getStartPagePv(JSONObject taskParam, JavaPairRDD<String,Iterable<Row>> sessionid2actionsRDD){

        String targetPageFlow = ParamUtils.getParam(taskParam,Constants.PARAM_TARGET_PAGE_FLOW);
        final long startPageid = Long.valueOf(targetPageFlow.split(",")[0]);
        JavaRDD<Long> startPageRDD = sessionid2actionsRDD.flatMap(
                new FlatMapFunction<Tuple2<String, Iterable<Row>>, Long>() {
                    private static final long serialVersionUID = 1L;
                    @Override
                    public Iterator<Long> call(Tuple2<String, Iterable<Row>> tuple) throws Exception {
                        List<Long> list = new ArrayList<Long>();
                        Iterator<Row> 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();
    }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值