在实际应用中,我们往往还会关注,到底有多少不同的用户访问了网站,所以另外一个统计流量的重要指标是网站的独立访客数(Unique Visitor,UV)

1.假设我们已经采集到数据UserBehavior,并将数据放在工程目录input下面,截图如下:

文件格式如下:

 自己可以随便写一个csv文件就行,用excel打开就是每个填充一个,用notepad++打开就是以,分开

2.创建bean:

package com.mischen.it.entity;import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;/*** @ClassName UserBehavior* @Description DOTO* @Author mischen* @Date 2021/6/30 0030 7:50* @Version 1.0**/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class UserBehavior {private Long userId;private Long itemId;private Integer categoryId;private String behavior;private Long timestamp;
}

3.书写main方法,代码如下:

package com.mischen.it;import com.mischen.it.entity.UserBehavior;
import org.apache.flink.api.common.typeinfo.Types;
import org.apache.flink.api.java.tuple.Tuple2;
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
import org.apache.flink.streaming.api.functions.KeyedProcessFunction;
import org.apache.flink.util.Collector;import java.util.HashSet;/*** @ClassName Flink02_Project_UV* @Description DOTO* @Author mischen* @Date 2021/6/30 0030 8:23* @Version 1.0**/
public class Flink02_Project_UV {public static void main(String[] args) throws Exception {StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();env.readTextFile("input/UserBehavior.csv").flatMap((String line, Collector<Tuple2<String, Long>> out) -> {String[] split = line.split(",");UserBehavior behavior = new UserBehavior(Long.valueOf(split[0]),Long.valueOf(split[1]),Integer.valueOf(split[2]),split[3],Long.valueOf(split[4]));if ("pv".equals(behavior.getBehavior())) {out.collect(Tuple2.of("uv", behavior.getUserId()));}}).returns(Types.TUPLE(Types.STRING, Types.LONG)).keyBy(t -> t.f0).process(new KeyedProcessFunction<String, Tuple2<String, Long>, Integer>() {HashSet<Long> userIds = new HashSet<>();@Overridepublic void processElement(Tuple2<String, Long> value, Context ctx, Collector<Integer> out) throws Exception {userIds.add(value.f1);out.collect(userIds.size());}}).print("uv");env.execute();}
}

4.运行结果如下:

基于埋点日志数据的网络流量统计(网站独立访客数(UV)的统计)相关推荐

  1. 基于埋点日志数据的网络流量统计(网站总浏览量(PV)的统计)

    衡量网站流量一个最简单的指标,就是网站的页面浏览量(Page View,PV).用户每次打开一个页面便记录1次PV,多次打开同一页面则浏览量累计. 一般来说,PV与来访者的数量成正比,但是PV并不直接 ...

  2. 数据中心网络流量精细运维

    从IDC运营商和云服务商的角度来说,做好网络运维是企业的根本.国内对互联网带宽需求的快速增长,催生出很多大型的IDC服务商,他们在全省.全国,甚至全世界布局数据中心.快速布局的同时如何对数据中心流量精 ...

  3. 论文阅读四:基于流分类的数据中心网络负载均衡机制

    名词解释: Utilization-aware Load-balancing based on Flow Classification, ULFC:基于流分类的数据中心网络负载均衡机制 Equal-C ...

  4. 基于 短信认证 通过 华为、H3C 结合 OpenPortal认证计费系统 实现 网络准入 短信验证码 访客实名认证

    基于 短信认证 通过 华为.H3C 结合 OpenPortal认证计费系统 实现 网络准入 短信验证码 访客实名认证 在企业园区网络中,需要结合短信认证实现网络安全准入,访客短信验证码实名认证.方案中 ...

  5. 会心自选:为什么流量会增而访客却减少?

    商家如果想让店铺健康并且长久的发展下去,就要对店铺的数据进行分析,随时去查看店铺的流量.访客.流失率等等. 为什么流量会增而访客却减少? 有一个买家点击了店铺一个宝贝,进入主页面之后又看到了关联宝贝, ...

  6. 流量/访客数/曝光量/浏览量/pv/uv

    流量:指的是进来店铺的,相当于门市的人流量一个意思 访客数:进来访问的人次数,同一个ip多次访问算一个人 曝光量:就是展现量,店铺和产品在阿里巴巴上被看到的次数,这个是可以重复计算的 浏览量:就是买家 ...

  7. 基于小波神经网络的短期网络流量数据预测

    目录 1.算法仿真效果 2.MATLAB核心程序 3.算法涉及理论知识概要 4.完整MATLAB 1.算法仿真效果 matlab2022a仿真结果如下: 2.MATLAB核心程序 .......... ...

  8. 日志,Agent,网络流量分析-性能监控的三大流派详解

    性能监控主要通过数据采集-数据分析-数据展示-故障告警来实现,其中,数据采集是性能监控的第一步,也是最为关键的一步. 不同数据采集方式获得的数据类型和颗粒度是不同的,不同的数据源能够分析出的指标类型也 ...

  9. 运营商精准大数据获客 网站APP访客实时截流

    企业想要获得精准客户线索的问题主要表现为两个方面,一是目标人群不够精准;二是轻视用户画像.因此,精准获客成败的前提是,是否有足够精确的"用户画像"来做支撑.因此企业解决精准获客这两 ...

  10. 大数据:2019年汽车4S店访客画像

    以2018年Q4到访过全国汽车4S店的人群(剔除了汽车4S店工作人员)为研究对象,从全国汽车4S店访客画像.不同城市等级.不同档次和不同品牌汽车4S店访客画像等角度勾勒出国内4S店访客群像. 极光大数 ...

最新文章

  1. City of Angels
  2. Web GIS离线解决方案
  3. 重磅推荐:保姆级Java技术图谱!够学到元宵节了,赶紧收藏!
  4. keras终止训练后显存不释放_Keras实现Large-scale Bisample Learning on ID vs. Spot Face Recognition...
  5. 数论六之计算几何——An Easy Problem,Ancient Berland Circus,Open-air shopping malls
  6. 下载的oracle如何解压,深度概述Ubuntu oracle下载解压
  7. 别人家的防疫实时监控大屏是怎么做的?方法和技巧都在这里了
  8. 项目基于vue-uniapp,使用colorUi与uview框架,完美支持微信小程序
  9. cadence 16.6中Z-copy的用法
  10. 2019中国基金业金融科技发展白皮书
  11. 最新JAVA调用新浪微博API之发微博、发图片
  12. Echarts制作泊松分布图,并加临界线
  13. 报价单,要这样做才专业
  14. 优化机场值机体验之护照阅读器
  15. 第11期 Jenkins 社区 2020年 GSoC Phase1 分享
  16. ES2022(ES13)简介
  17. 超模脸、网红脸、萌娃脸...换头像不重样?我开源了5款人脸生成器
  18. 下载 php manager 安装包文件
  19. 踔厉奋发,笃行不怠 润和软件 HiHope 2021 OpenHarmony大事记
  20. CK-FR208-EC与汇川PLC配置走EtherCAT通讯指南

热门文章

  1. July:海量数据处理
  2. 计算机无线键盘没反应,电脑怎么连接无线键盘 电脑连接无线键盘没反应怎么办...
  3. C++求解一元三次方程的实根
  4. 2017 苹果强制https
  5. 关于软件开发的若干总结(2022-08-27)
  6. .mpp文件的使用技巧
  7. android时光轴相册,Android之RecyclerView实现时光轴效果示例
  8. 为 Form Library 开发工作流,如何读取 InfoPath 表单内容
  9. Linux 权限管理深剖
  10. Javascript实现手机发送验证码