95.Spark大型电商项目-页面单跳转化率-将页面切片转化率写入MySQL

目录

创建数据表

代码

PageSplitConvertRate.java

IPageSplitConvertRateDAO.java

PageSplitConvertRateDAOImpl.java

DAOFactory.java

PageSplitConvertRateSpark.java


本篇文章记录页面单跳转化率-将页面切片转化率写入MySQL。

创建数据表

创建页面跳转转化率表
 

CREATE TABLE `page_split_convert_rate` (
  `task_id` int(11) DEFAULT  NULL,
  `convert_rate` varchar(255) DEFAULT NULL,
  index(task_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

代码

domain

PageSplitConvertRate.java

package graduation.java.domain;

/**
 * FileName: PageSplitConvertRate
 * Author:   hadoop
 * Email:    3165845957@qq.com
 * Date:     19-3-31 下午3:27
 * Description:
 * 页面切片转化率实体类
 */
public class PageSplitConvertRate {
    private long taskid ;
    private String convertRate;


    public long getTaskid() {
        return taskid;
    }

    public void setTaskid(long taskid) {
        this.taskid = taskid;
    }

    public String getConvertRate() {
        return convertRate;
    }

    public void setConvertRate(String convertRate) {
        this.convertRate = convertRate;
    }

    @Override
    public String toString() {
        return "PageSplitConvertRate{" +
                "taskid=" + taskid +
                ", convertRate='" + convertRate + '\'' +
                '}';
    }
}

dao

IPageSplitConvertRateDAO.java

package graduation.java.dao;

import graduation.java.domain.PageSplitConvertRate;

/**
 * FileName: IPageSplitConvertRateDAO
 * Author:   hadoop
 * Email:    3165845957@qq.com
 * Date:     19-3-31 下午3:29
 * Description:
 * 页面切片转化率DAO借口类
 */
public interface IPageSplitConvertRateDAO {

    /**
     * 插入页面切片转化率的计算结果
     * @param pageSplitConvertRate
     */
    void insert(PageSplitConvertRate pageSplitConvertRate);
}

impl

PageSplitConvertRateDAOImpl.java

package graduation.java.impl;

import graduation.java.dao.IPageSplitConvertRateDAO;
import graduation.java.domain.PageSplitConvertRate;
import graduation.java.jdbc.JDBCHelper;

/**
 * FileName: PageSplitConvertRateImpl
 * Author:   hadoop
 * Email:    3165845957@qq.com
 * Date:     19-3-31 下午3:31
 * Description:
 * 页面切片转化率DAO接口实现类
 */
public class PageSplitConvertRateDAOImpl  implements IPageSplitConvertRateDAO {

    @Override
    public void insert(PageSplitConvertRate pageSplitConvertRate) {
        String sql = "insert into page_split_convert_rate values(?,?)";
        Object[] param = new Object[]{
                pageSplitConvertRate.getTaskid(),
                pageSplitConvertRate.getConvertRate()
        };

        JDBCHelper jdbcHelper = JDBCHelper.getInstance();
        jdbcHelper.executeUpdate(sql,param);

    }
}

factory

DAOFactory.java

 /**
     *获取页面切片转化率管理DAO
     * @return
     */

    public static PageSplitConvertRateDAOImpl getPageSplitConvertRateDAO(){
        return  new PageSplitConvertRateDAOImpl();
    }

spark.page

PageSplitConvertRateSpark.java

    /**
     * 持久化页面切片转化率计算结果
     * @param taskid
     * @param convertRateMap
     */
    private static void persistConvertRate(long taskid,Map<String,Double> convertRateMap){

        StringBuffer buffer = new StringBuffer("");
        for (Map.Entry<String,Double> convertRateEntry:convertRateMap.entrySet()){
            String pageSplit = convertRateEntry.getKey();
            double convertRate = convertRateEntry.getValue();
            buffer.append(pageSplit+"="+convertRate+"|");
        }

        String convertRateString = buffer.toString();
        //切掉最后一个“|”
        convertRateString = convertRateString.substring(0,convertRateString.length()-1);

        PageSplitConvertRate pageSplitConvertRate = new PageSplitConvertRate();
        pageSplitConvertRate.setTaskid(taskid);
        pageSplitConvertRate.setConvertRate(convertRateString);

        IPageSplitConvertRateDAO iPageSplitConvertRateDAO = DAOFactory.getPageSplitConvertRateDAO();
        iPageSplitConvertRateDAO.insert(pageSplitConvertRate);


    }

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值