大数据分析之数据收集之封装商品浏览日志

 

 

大数据分析之数据收集之封装商品浏览日志

 

Productscanlog 

package com.youfan.analy.input;

import com.youfan.model.User;

/**
 * 商品浏览日志
 */
public class Productscanlog {
    private long pindaoid;//频道id
    private long productytpeid;//产品类别id
    private long producid;//产品id
    private long userid;//用户id
    private String ip;//ip地址
    private String browser;//浏览器
    private String os;//操作系统
    private String country;//国家
    private String provice;//省
    private String city;//城市
    private String county;//县,区
    private String network;//运营商
    private long timestamp;//访问时间


    public long getPindaoid() {
        return pindaoid;
    }

    public void setPindaoid(long pindaoid) {
        this.pindaoid = pindaoid;
    }

    public long getProductytpeid() {
        return productytpeid;
    }

    public void setProductytpeid(long productytpeid) {
        this.productytpeid = productytpeid;
    }

    public long getProducid() {
        return producid;
    }

    public void setProducid(long producid) {
        this.producid = producid;
    }

    public long getUserid() {
        return userid;
    }

    public void setUserid(long userid) {
        this.userid = userid;
    }

    public String getIp() {
        return ip;
    }

    public void setIp(String ip) {
        this.ip = ip;
    }

    public String getBrowser() {
        return browser;
    }

    public void setBrowser(String browser) {
        this.browser = browser;
    }

    public String getOs() {
        return os;
    }

    public void setOs(String os) {
        this.os = os;
    }

    public String getCountry() {
        return country;
    }

    public void setCountry(String country) {
        this.country = country;
    }

    public String getProvice() {
        return provice;
    }

    public void setProvice(String provice) {
        this.provice = provice;
    }

    public String getCity() {
        return city;
    }

    public void setCity(String city) {
        this.city = city;
    }

    public String getCounty() {
        return county;
    }

    public void setCounty(String county) {
        this.county = county;
    }

    public String getNetwork() {
        return network;
    }

    public void setNetwork(String network) {
        this.network = network;
    }

    public long getTimestamp() {
        return timestamp;
    }

    public void setTimestamp(long timestamp) {
        this.timestamp = timestamp;
    }
}

说明:

    1)用于封装用户对商品的浏览的相关信息;

 

 

埋点收集日志


        /**
         * 埋点收集日志,频道数量少,该模块的频道id固定,id为1,代表生鲜
         */
        long pindaoid = 1;//频道id
        //productytpeid//产品类别id
        //producid//产品id
        //用户id
        long userid = 0;//游客
        //ip地址
        String ipaddress = IpUtil.getIpAddress(request);
        System.out.println(ipaddress);
        HttpSession sesion = request.getSession();
        Object userobject = sesion.getAttribute("user");
        if(userobject!=null){
                User user = (User)userobject;
                userid =  user.getId();
        }
        //获取浏览器信息以及操作系统信息
        String osandbrowser = BrowserInfoUtil.getOsAndBrowserInfo(request);
        System.out.println(osandbrowser);
        String[] temps = osandbrowser.split("---");
        String os = temps[0].trim();
        String browser = temps[1].trim();
        System.out.println(os);
        System.out.println(browser);

        Productscanlog productscanlog = new Productscanlog();
        //根据ip获取地区和运营商
        try {
            AreaAndnetwork areaAndnetwork = AreaAndNetworkUtil.getAddressByIp(ipaddress);
            productscanlog.setCounty(areaAndnetwork.getCounty());
            productscanlog.setProvice(areaAndnetwork.getProvice());
            productscanlog.setCity(areaAndnetwork.getCity());
            productscanlog.setCounty(areaAndnetwork.getCounty());
            productscanlog.setNetwork(areaAndnetwork.getNetwork());
        }catch (Exception e){
            e.printStackTrace();
        }
        productscanlog.setPindaoid(pindaoid);
        productscanlog.setProductytpeid(productytpeid);
        productscanlog.setProducid(Long.valueOf(producid+""));
        productscanlog.setUserid(userid);
        productscanlog.setIp(ipaddress);
        productscanlog.setBrowser(browser);
        productscanlog.setOs(os);
        productscanlog.setTimestamp(new Date().getTime());

        String productscanlogstring = JSONObject.toJSONString(productscanlog);
        System.out.println(productscanlogstring);
        kafkaTemplate.send("productscanlog", "key", productscanlogstring);
        String productflume = userid +"\t" + pindaoid+"\t"+productscanlog.getTimestamp();
        kafkaTemplate.send("productscanlogflume","key",productflume);



说明:

    1)埋点收集日志;

    2)将商品浏览的信息封装成日志信息对象;

    3)再转换成json字符串,发送到kafka消息中间件中;

 

 

 

 


==============================
QQ群:143522604
群里有相关资源
欢迎和大家一起学习、交流、提升!
==============================

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值