05 2021 档案

摘要:一、背景说明: 在上篇文章实现了TopN计算,但是碰到迟到数据则会无法在当前窗口计算,需要对其中的键控状态优化 Flink使用二次聚合实现TopN计算 本次需求是对数据进行统计,要求每隔5秒,输出最近10分钟内访问量最多的前N个URL,数据流预览如下(每次一条从端口传入): 208.115.111. 阅读全文
posted @ 2021-05-26 17:07 Rango_lhl 阅读(750) 评论(0) 推荐(0) 编辑
摘要:一、背景说明: 有需求需要对数据进行统计,要求每隔5分钟输出最近1小时内点击量最多的前N个商品,数据格式预览如下: 543462,1715,1464116,pv,1511658000 662867,2244074,1575622,pv,1511658000 561558,3611281,965809 阅读全文
posted @ 2021-05-24 15:37 Rango_lhl 阅读(1866) 评论(0) 推荐(0) 编辑
摘要:一、背景说明 在Flink中对流数据进行去重计算是常有操作,如流量域对独立访客之类的统计,去重思路一般有三个: 基于Hashset来实现去重 数据存在内存,容量小,服务重启会丢失。 使用状态编程ValueState/MapState实现去重 常用方式,可以使用内存/文件系统/RocksDB作为状态后 阅读全文
posted @ 2021-05-20 10:29 Rango_lhl 阅读(1220) 评论(0) 推荐(0) 编辑
摘要:一、背景说明 本文基于IK分词器,自定义一个UDTF(Table Functions),实现类似Hive的explode行转列的效果,以此来简明开发过程。 如下图Flink三层API接口中,Table API的接口位于最顶层也是最易用的一层,可以套用SQL语法进行代码编写,对于有SQL基础的能很快上 阅读全文
posted @ 2021-05-08 13:49 Rango_lhl 阅读(2381) 评论(0) 推荐(0) 编辑
摘要:一、背景说明: 在目前实时数仓中,由于维表具有主键唯一性的特点,Hbase/Redis通常作为维表存放选择 Hbase:数据存于磁盘具有持久性但是查询效率慢。 Redis:数据存于内存查询效率高,但维表多数据量大时候占用资源多。 基于旁路缓存思想,对维表存储的优化的思路为:维表数据存储在Hbase, 阅读全文
posted @ 2021-05-07 14:42 Rango_lhl 阅读(1191) 评论(0) 推荐(0) 编辑
摘要:一、需求说明: 对页面日志数据进行ETL,对跳出用户进行标记后输出到Kafka。 跳出用户定义: 条件1:不是从其他页面跳转过来的页面,是一个首次访问页面。日志数据表现为不存在last_page_id字段。 条件2:距离首次访问结束后10秒内,没有对其他的页面再进行访问。 ps:该需求一般为实时项目 阅读全文
posted @ 2021-05-07 14:41 Rango_lhl 阅读(222) 评论(1) 推荐(0) 编辑