Flink
文章平均质量分 90
pucheung
这个作者很懒,什么都没留下…
展开
-
Flink1.10任务提交流程分析(二)
在Flink1.10任务提交流程分析(一)中分析了从flink run开始到任务提交到集群前的流程分析,对于不同的提交模式Flink中使用不同的PipelineExecutor,本篇基于...原创 2020-06-08 23:29:56 · 893 阅读 · 0 评论 -
Flink1.10任务提交流程分析(一)
Flink任务常见的提交方式通过flink run命令方式提交,如果我们想自己通过API方式实现任务提交,那么就需要了解flink run执行过程,本篇主要透过源码分析其提交流程。(注:...原创 2020-06-05 22:56:37 · 1666 阅读 · 0 评论 -
Flink1.10基于工厂模式的任务提交与SPI机制
Flink任务执行模式包含了yarn-session、standalone、per-job、local, 在1.10中又增加k8s的执行模式,那么在任务提交过程中如何根据不同的执行模式进...原创 2020-06-04 00:19:19 · 1717 阅读 · 0 评论 -
Flink: 两个递归彻底搞懂operator chain
operator chain是指将满足一定条件的operator 链在一起,放在同一个task里面执行,是Flink任务优化的一种方式,在同一个task里面的operator的数据传输变...原创 2020-02-29 21:45:04 · 3032 阅读 · 0 评论 -
Flink去重第四弹:bitmap精确去重
点击箭头处“蓝色字”,关注我们哦!!往期精彩回顾Flink去重第一弹:MapState去重Flink去重第二弹:SQL方式Flink去重第三弹:HyperLogLog去重关于hyperl...原创 2020-01-12 18:54:08 · 5105 阅读 · 0 评论 -
年关将至,送上一份Flink大礼包
点击箭头处“蓝色字”,关注我们哦!!从19年10月份开始决定写这些东西,不知不觉写了43篇文章,真的没想到自己能够坚持下来,每一篇文章都是从自己工作中总结出来的,每写一个系列都需要翻阅源...原创 2020-01-08 00:42:14 · 251 阅读 · 0 评论 -
Flink去重第三弹:HyperLogLog去重
点击箭头处“蓝色字”,关注我们哦!!HyperLogLog算法 也就是基数估计统计算法,预估一个集合中不同数据的个数,也就是我们常说的去重统计,在redis中也存在hyperloglog...原创 2020-01-04 21:02:24 · 868 阅读 · 0 评论 -
flink维表关联系列之Redis维表关联:实时查询
点击上方蓝字关注~ 在做维表关联如果要求低延时,即维表数据的变更能够被立刻感知到,所以就要求在查询时没有缓存策略,直接查询数据库维表信息。本篇以实时查询redis为例,要求r...原创 2019-12-29 19:34:11 · 3235 阅读 · 2 评论 -
Flink去重第一弹:MapState去重
点击上方蓝字关注~ 去重计算应该是数据分析业务里面常见的指标计算,例如网站一天的访问用户数、广告的点击用户数等等,离线计算是一个全量、一次性计算的过程通常可以通过distin...原创 2019-12-22 17:36:06 · 5669 阅读 · 2 评论 -
Flink1.9 你要的全在这里
基于 Flink 1.9 讲解的专栏,涉及入门、概念、原理、实战、性能调优、系统案例的讲解。专栏介绍扫码下面图片二维码可以查看&订阅该专栏本文地址:http://...转载 2019-11-07 00:25:06 · 510 阅读 · 0 评论 -
Flink DataStream中CoGroup实现原理与三种 join 实现
点击上方蓝字关注~ CoGroupCoGroup 表示联合分组,将两个不同的DataStream联合起来,在相同的窗口内按照相同的key分组处理,先通过一个d...原创 2019-11-05 01:10:44 · 3454 阅读 · 0 评论 -
基于Flink的日志采集
目前基于ELK架构的日志系统,通过filebeat收集上来的日志都会发送到同一个kafka topic中,然后再由Logstash消费处理写入Elasticsearch中,这种方式导致该...原创 2020-04-29 23:01:24 · 3757 阅读 · 1 评论 -
Flink中-C参数与DistributedCache使用
点击箭头处“蓝色字”,关注我们哦!!-C 参数flink命令下有这样的一个参数选项-C或者--classpath,含义解释:Adds a URL to each user code cl...原创 2020-02-23 18:51:34 · 1538 阅读 · 0 评论 -
Flink中Watermark定时生成源码分析
点击箭头处“蓝色字”,关注我们哦!!watermark的生成策略有两种:一种是周期性生成,另外一种是根据特定标记生成。在实际使用中大多数情况下会选择周期性生成方式也就是AssignerW...原创 2020-02-03 17:13:45 · 1560 阅读 · 0 评论 -
Flink 中的一把锁
点击箭头处“蓝色字”,关注我们哦!!那把锁锁用于多线程安全场景下,在Flink中存在一把锁,被用于数据处理线程、定时器调用线程、checkpoint线程。在StreamTask中定义了一...原创 2020-01-26 13:45:56 · 2147 阅读 · 0 评论 -
Flink中流动的四种元素
点击箭头处“蓝色字”,关注我们哦!!在Flink DataStream中流动着不同的元素,统称为StreamElement,StreamElement可以是StreamRecord、Wa...原创 2020-01-18 21:41:51 · 564 阅读 · 0 评论 -
9102年围绕Flink做的一些事
点击箭头处“蓝色字”,关注我们哦!!2019年的主要工作就是围绕Flink来做一些事情,分为以下几个方面:一、实时流平台二、实时监控三、实时数仓四、实时业...原创 2020-01-14 23:41:09 · 351 阅读 · 0 评论 -
Flink基于zookeeper的高可用实现源码分析
点击箭头处“蓝色字”,关注我们哦!!Flink中JobMaster、ResourceManager、Dispatcher、WebMonitorEndpoint提供了基于zookeeper...转载 2020-01-06 13:59:08 · 1203 阅读 · 0 评论 -
Flink心跳机制分析
点击箭头处“蓝色字”,关注我们哦!!心跳机制通过定期向对方发送请求方式用于检测客户端或者服务端是否存活的一种机制,常见的心跳检测有两种:socket 套接字SO_KEEPALIVE本身带...原创 2020-01-01 20:18:58 · 1085 阅读 · 0 评论 -
Flink去重第二弹:SQL方式
点击上方蓝字关注~在Flink去重第一弹:MapState去重中介绍了使用编码方式完成去重,但是这种方式开发周期比较长,我们可能需要针对不同的业务逻辑实现不同的编码,对于业务开发来说也需...原创 2019-12-27 01:03:11 · 2195 阅读 · 1 评论 -
Flink SQL自定义聚合函数
点击上方蓝字关注~本篇幅介绍Flink Table/SQL中如何自定义一个聚合函数,介绍其基本用法、撤回定义以及与源码结合分析每个方法的调用位置。基本使用Flink Ta...原创 2019-11-24 23:19:32 · 3661 阅读 · 0 评论 -
Flink SQL中可撤回机制解密
点击上方蓝字关注~ 场景案例先从一个实际业务场景理解Flink SQL中的撤回机制:设备状态上线/下线数量统计,上游采集设备状态发送到Kafka中,最开始是一个上线状态,此时统计到上线数量+1,过了一段时间该设备下线了,收到的下线的状态,那么此时应该是上线数量-1,下线数量+1,现在需要实现这样一个需求,看一下在Flink SQL里面如何实现val env=StreamExecutio...原创 2019-11-23 00:30:59 · 1635 阅读 · 0 评论 -
Flink per-Job模式InfluxdbReporter上报JobName
点击上方蓝字关注~ 最近将Flink集群从1.6升级到1.8,主要是为了使用1.8的两个特性:一个是universal kafka ,另外一个是rocksdb ...原创 2019-11-20 08:02:28 · 1295 阅读 · 3 评论 -
Flink实战:全局TopN分析与实现
点击蓝字关注~~按照区域areaId+商品gdsId分组,计算每个分组的累计销售额将得到的区域areaId+商品gdsId维度的销售额按照区域areaId分组,然后求得T...原创 2019-11-18 00:06:39 · 1977 阅读 · 1 评论 -
Flink实战: 窗口TopN分析与实现
点击上方蓝字关注~ TopN 的需求场景不管是在离线计算还是实时计算都是比较常见的,例如电商中计算热门销售商品、广告计算中点击数前N的广告、搜索中计算搜索次数前...原创 2019-11-13 01:02:53 · 4216 阅读 · 2 评论 -
Flink join终结者:SQL Join
点击上方蓝字关注~ SQL是开发人员与数据分析师必备的技能,Flink也提供了Sql方式编写任务,能够很大程度降低开发运维成本,这篇是flink join的终极篇SQL Join, 首先介绍sql join使用方式、然后介绍global join带来的状态存储成本及解决方式、最后从源码角度分析sql join实现。一、SQL JOIN使...原创 2019-11-10 19:33:58 · 3610 阅读 · 4 评论 -
Flink intervalJoin 使用与原理分析
点击蓝字关注~~先看一个假设的案例:用户购买商品过程中填写收货地址然后下单,在这个过程中产生两个数据流,一个是订单数据流包含用户id、商品id、订单时间、订单金额、收货id等,另一个是收货信息数据流包含收货id、收货人、收货人联系方式、收货人地址等,系统在处理过程中,先发送订单数据,在之后的1到5秒内会发送收货数据,现在要求实时统计按照不同区域维度的订单金额的top100地区。在这个案例中两个数据...原创 2019-11-07 00:25:06 · 8161 阅读 · 6 评论 -
Flink自定义metric监控流入量
点击蓝字关注~~flink任务本身提供了各种类型的指标监控,细化到了每一个Operator的流入/流出量、速率、Watermark值等,通常在实际应用中需要对接入数据做格...原创 2019-11-02 01:15:56 · 4631 阅读 · 0 评论 -
Flink中延时调用设计与实现
点击上方蓝字关注~ 一、背景在电商商品购买过程中有这样一些场景:用户点击下单,此时订单处于待支付状态,如果在2小时之...原创 2019-10-31 03:11:40 · 3760 阅读 · 0 评论 -
flink维表关联系列之自定义异步查询
点击上方蓝字关注~ 在异步IO查询外部存储时,对于提供异步查询的客户端来说可以直接使用,但是对于没有提供异步查询的客户端应该怎么做呢?我们可以将查询请求丢到一个线程池中,将这个线程池看做是一个异步的客户端来帮助我们完成查询请求。通过线程池方式来帮助我们完成异步请求关键在于线程池的core大小如何设置,如果设置过大,会到导致创建很多个线程,势必会...原创 2019-10-30 13:17:18 · 586 阅读 · 0 评论 -
Flink实战系列
散记系列目录: 一、你应该了解的Watermark 二、Flink中延时调用设计与实现 三、Flink SQL中可撤回机制解密时间系统系列目录: 一、时间系统概述介绍 二、Processing Time源码分析 三、Event Time源码分析 四、时间系统在窗口函数中的应用分析 五、ProcessFunct...原创 2019-11-24 15:25:02 · 745 阅读 · 0 评论