当前位置: 首页 > news >正文

想创建一个网站/网站排名seo教程

想创建一个网站,网站排名seo教程,江西建设厅特殊工种的网站,辽宁建设工程招投标信息网网站里面,特别是电商场景,一般情况都要统计哪些是热门商品,或者哪个url的访问最大。 前提是根据每个url对应的访问量统计出来,然后再去排序,做其他选择 我们可以将页面访问量按照窗口,基于窗口划分&#x…

网站里面,特别是电商场景,一般情况都要统计哪些是热门商品,或者哪个url的访问最大。

前提是根据每个url对应的访问量统计出来,然后再去排序,做其他选择
我们可以将页面访问量按照窗口,基于窗口划分,每个url它们分别被点击访问了几次

这里我们为了方便处理,单独定义了一个 POJO 类 UrlViewCount 来表示聚合输出结果的数据类型,包含了 url、浏览量以及窗口的起始结束时间。

Gitee中

public class UrlViewCount {public String url; //urlpublic Long count; //数量public Long windowStart; //开始时间public Long windowEnd; //结束时间public UrlViewCount() {}public UrlViewCount(String url, Long count, Long windowStart, Long windowEnd) {this.url = url;this.count = count;this.windowStart = windowStart;this.windowEnd = windowEnd;}@Overridepublic String toString() {return "UrlViewCount[" +"url='" + url + '\'' +", count=" + count +", windowStart=" + new Timestamp(windowStart) +", windowEnd=" + new Timestamp(windowEnd) +']';}
}

我们这里统计 5 秒钟的 url 浏览量,另外为了更加清晰地展示,还应该把窗口的起始结束时间一起输出。并结合增量聚合函数和全窗口函数来得到统计结果。

代码如下:需求实现

public class UrlCountViewExample {public static void main(String[] args) throws Exception {StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();env.setParallelism(1);// 读取数据,并提取时间戳、生成水位线DataStream<Event> stream = env.addSource(new ClickSource()).assignTimestampsAndWatermarks(WatermarkStrategy.<Event>forBoundedOutOfOrderness(Duration.ZERO).withTimestampAssigner(new SerializableTimestampAssigner<Event>() {@Overridepublic long extractTimestamp(Event element, long recordTimestamp) {return element.timestamp;}}));stream.print("data");//统计每个url的访问量stream.keyBy(data -> data.url).window(TumblingEventTimeWindows.of(Time.seconds(5))).aggregate(new UrlViewCountAgg(), new UrlViewCountResult()).print();env.execute();}//增量聚合,来一条数据就 加 1public static class UrlViewCountAgg implements AggregateFunction<Event, Long, Long> {@Overridepublic Long createAccumulator() {return 0L;}@Overridepublic Long add(Event value, Long accumulator) {return accumulator + 1;}@Overridepublic Long getResult(Long accumulator) {return accumulator;}@Overridepublic Long merge(Long a, Long b) {return null;}}//包装窗口信息,输出UrlViewCountpublic static class UrlViewCountResult extends ProcessWindowFunction<Long, UrlViewCount, String, TimeWindow> {@Overridepublic void process(String url, Context context, Iterable<Long> elements, Collector<UrlViewCount> out) throws Exception {//获取开始时间和结束时间Long start = context.window().getStart();Long end = context.window().getEnd();//UVLong uv = elements.iterator().next();//输出out.collect(new UrlViewCount(url, uv, start, end));}}
}

代码中用一个 AggregateFunction 来实现增量聚合,每来一个数据就计数加一;得到的结果交给 ProcessWindowFunction,结合窗口信息包装成我们想要的 UrlViewCount,最终输出统计结果。

窗口处理的主体还是增量聚合,而引入全窗口函数又可以获取到更多的信息包装输出,这样的结合兼具了两种窗口函数的优势,在保证处理性能和实时性的同时支持了更加丰富的应用场景。

http://www.lbrq.cn/news/825535.html

相关文章:

  • 做外国网站用什么服务器/关键词优化公司
  • 建网站的目的/百度论坛首页官网
  • 小破站下载/做百度推广的网络公司广州
  • 网站关键词选取的步骤和方法/搜索引擎排名2022
  • 阿里巴巴做国际网站多少钱/扬州网络优化推广
  • wordpress 维护状态/seo全网推广
  • wordpress 资源文件/seo搜索引擎优化案例
  • 建设个网站广州/百度推广区域代理
  • 临沂市住房和城乡建设委员会网站/适合35岁女人的培训班
  • 自助网站免费注册/网络优化网站
  • 建设网站怎么知道真假/seo技巧是什么
  • 网站建设公司 上/自媒体平台注册入口
  • 个人买卖网站怎么做/上海做网络口碑优化的公司
  • 本地的唐山网站建设/互联网优化是什么意思
  • 网站建设合同英文版/电脑优化是什么意思
  • 泰安集团网站建设报价/百度站长平台论坛
  • 自考本科条件/搜索引擎优化论文
  • 电子商务网站的分类/站长聚集地
  • 西安网站制作维护/网络培训心得体会5篇
  • 合浦县建设局网站/怎么找平台推广自己的产品
  • 芜湖市建设办网站/站长联盟
  • 软件公司做网站/网络营销是指
  • 深圳做公司网站推广的/什么叫seo
  • 牌具网站广告怎么做/网络营销的未来发展趋势
  • 怎样制作自己的网站/宁波网站建设优化企业
  • 物联网软件定制开发/优化算法
  • 做网站要学c语言/网站内容seo
  • 哪里有做商城的网站/长沙网站seo排名
  • 全球网站制作/品牌推广战略
  • 微信 公众号 微网站开发/大二网页设计作业成品
  • SVM(Support Vector Machine)从入门到精通
  • 零基础学习性能测试第二章-linux服务器监控:网络iftop
  • C++ :vector的模拟
  • LatentSync: 一键自动生成对嘴型的视频
  • 【iOS】消息传递和消息转发
  • 透过结构看时间——若思考清洗则表达有力