Flink
文章平均质量分 67
知白zz
这个作者很懒,什么都没留下…
展开
-
Flink开发-实现有状态的计算
Flink开发-实现有状态的计算1. Checkpoint原理及配置方法1.1 开启Checkpoint1.2 State Backend1.2.1 MemoryStateBackend1.2.2 FsStateBackend1.2.3 MemoryStateBackend2. 故障重启恢复流程2.1 重启恢复基本流程2.2 重启策略2.2.1 Fixed Delay(固定延时重启)2.2.2 Failure Rate(故障率重启)2.2.3 No Restart(不重启)3. Flink的几种状态类型3.原创 2021-08-26 11:55:26 · 1007 阅读 · 0 评论 -
Flink开发-Tasks和算子链间的关系
Flink开发-Tasks和算子链间的关系1. disableOperatorChaining对于分布式执行,Flink 将算子的 subtasks 链接在一起形成 tasks ,每个subtask 中的 Operator 连接成链也就是 Operator chain。对比每个 task 由一个线程执行,将算子链接成 tasks 是个有用的优化:它减少线程间切换、缓冲的开销,并且减少延迟的同时增加整体吞吐量。每个 worker(TaskManager)都是一个 JVM 进程,可以在单独的线程中执行一个原创 2021-08-24 10:34:49 · 1281 阅读 · 0 评论 -
Flink开发-窗口Join
Flink开发-窗口Join1. 等值Join2. LeftOuterJoin3. IntervalJoin双流数据流入时必须两个窗口同时满足窗口触发条件才会进行运算。1. 等值Join public static void main(String[] args) throws Exception { //local模式默认的并行度是当前机器的逻辑核数 StreamExecutionEnvironment env = StreamExecutionEnviro原创 2021-08-17 13:49:20 · 589 阅读 · 0 评论 -
Flink开发-事件时间窗口EventTimeWindows
Flink开发-事件时间窗口EventTimeWindows1.Non-Keyed Tumbling Windows2.Keyed Tumbling WindowsEvent Time指的是数据流中每个元素或者每个事件自带的时间属性,一般是事件发生的时间。由于事件从发生到进入Flink时间算子之间有很多环节,一个较早发生的事件因为延迟可能较晚到达,因此使用Event Time意味着事件到达有可能是乱序的。使用Event Time时,最理想的情况下,我们可以一直等待所有的事件到达后再进行时间窗口的处理。假原创 2021-08-17 10:15:57 · 2359 阅读 · 1 评论 -
Flink开发-会话窗口SessionWindows
Flink开发-会话窗口SessionWindows1.Non-Keyed Session Windows2.Keyed Session Windows2.1 固定时间间隔2.2 动态时间间隔会话窗口是按照时间间隔划分窗口的,当超过指定的时间间隔,就会划分一个新的窗口。会话窗口没有固定的起始时间和结束时间,窗口中的数据也不会重叠。会话窗口可以指定一个固定的时间间隔,也可以根据数据中的信息传入一个函数计算出一个动态变化的时间间隔。1.Non-Keyed Session Windows publ原创 2021-08-13 15:17:06 · 1094 阅读 · 0 评论 -
Flink开发-滑动窗口SlidingWindows
Flink开发-滑动窗口SlidingWindows1.Non-Keyed Sliding Windows2.Keyed Sliding Windows滑动窗口是按照时间划分的窗口,其Assinger会将输入的每一条数据按照时间分配到固定长度的窗口内,并且还可以指定一个额外的滑动参数用来指定窗口滑动的频率(也叫滑动步长),因此当滑动步长小于窗口的长度时,窗口和窗口之间有数据重叠。1.Non-Keyed Sliding WindowsSlidingWindows的of方法如果指定两个参数,第一个参数原创 2021-08-13 14:42:58 · 955 阅读 · 0 评论 -
Flink开发-滚动窗口TumblingWindows
Flink开发-滚动窗口TumblingWindows 1.Non-Keyed Tumbling Windows2.Keyed Tumbling Windows滚动窗口是按照时间划分的窗口,其Assinger会将输入的每一条数据按照时间分配到固定长度的窗口内,并且按照这个固定的时间进行滚动,窗口和窗口之间没有数据重叠。1.Non-Keyed Tumbling Windows public static void main(String[] args) throws Exception {原创 2021-08-13 14:09:01 · 517 阅读 · 0 评论 -
Flink开发-全局窗口GlobalWindows
Flink开发-滚动窗口TumblingWindows1.Flink的三种时间语义1.Flink的三种时间语义原创 2021-08-13 11:32:40 · 2393 阅读 · 0 评论 -
Flink开发-时间语义与窗口分类
Flink开发-时间语义与窗口分类1.Flink的三种时间语义1.1 Event Time 事件时间1.2 Processing Time 处理时间1.3 Ingestion Time 进入时间1.4 设置时间标准2.Window Assinger2.1 滚动窗口(Tumbling Windows)2.2 滑动窗口(Sliding Windows)2.3 会话窗口(Session Windows)2.4 GlobalWindow3.窗口程序的骨架3.1 Non-Keyed Windows3.2 Keyed原创 2021-08-12 17:40:57 · 445 阅读 · 0 评论 -
Flink开发-常用的Source数据源
Flink开发-预定义的DataSource1.基于集合的Source1.1 fromCollection1.2 fromElements1.3 fromParallelCollection1.4 generateSequence2.基于Socket的Source2.1 generateSequence1.基于集合的Source基于集合的Source是将一个普通的Java集合、迭代器或者可变参数转换成一个分布式数据集DataStreamSource,它是DataStream的子类,所以也可以使用Data原创 2021-08-11 10:49:00 · 586 阅读 · 0 评论 -
Flink开发-创建Flink程序流式处理执行环境
Flink开发-创建Flink程序流式处理执行环境1.本地模式运行2.自适应模式运行3.本地调试时引入WebUI1.本地模式运行Local模式运行,只能在本地运行,无法在服务器上运行,通常用于本地测试。 这种方式配置时可以手动指定程序并行度。LocalStreamEnvironment env = StreamExecutionEnvironment.createLocalEnvironment(8);2.自适应模式运行运行时会自动判断(本地/集群),并自动生成相对应的运行环境,代码切换更加灵活原创 2021-08-10 16:16:20 · 473 阅读 · 0 评论 -
FlinkSQL-自定义表聚合函数TableAggregateFunction
FlinkSQL-自定义表聚合函数TableAggregateFunction什么是表聚合函数表聚合函数的实现表聚合函数的工作原理代码实现测试用例什么是表聚合函数表聚合,多对多,多行输入多行输出用户定义的表聚合函数(User-Defined Table Aggregate Functions,UDTAF),可以把一个表中数据,聚合为具有多行和多列的结果表用户定义表聚合函数,是通过继承 TableAggregateFunction 抽象类来实现的表聚合函数的实现TableAggregate原创 2021-07-29 16:13:34 · 1201 阅读 · 0 评论 -
FlinkSQL-自定义标量函数ScalarFunction
FlinkSQL-自定义标量函数ScalarFunction什么是标量函数标量函数的实现代码实现测试用例什么是标量函数Scalar Funcion类似于Map,一对一,输入一行数据输出一行数据用户定义的标量函数,可以将0、1或多个标量值,映射到新的标量值为了定义标量函数,必须在 org.apache.flink.table.functions 中扩展基类Scalar Function,并实现(一个或多个)求值方法标量函数的行为由求值方法决定标量函数的实现ScalarFunction 要原创 2021-07-29 14:57:57 · 1744 阅读 · 0 评论 -
FlinkSQL-自定义表函数TableFunction
FlinkSQL-自定义表函数TableFunction什么是表函数表函数的实现代码实现测试用例什么是表函数Table Function类似FlatMap,一对多,输入一条输出输出多条数据用户定义的表函数,也可以将0、1或多个标量值作为输入参数;与标量函数不同的是,它可以返回任意数量的行作为输出,而不是单个值为了定义一个表函数,必须扩展 org.apache.flink.table.functions 中的基类 TableFunction 并实现(一个或多个)求值方法表函数的行为由其求值方法原创 2021-07-29 14:43:34 · 1050 阅读 · 0 评论 -
FlinkSQL-自定义聚合函数AggregateFunction
FlinkSQL-自定义聚合函数AggregateFunction什么是聚合函数聚合函数的实现聚合函数的工作原理代码实现测试用例什么是聚合函数聚合,多对一,类似窗口聚合用户自定义聚合函数(User-Defined Aggregate Functions,UDAF)可以把一个表中的数据,聚合成一个标量值用户定义的聚合函数,是通过继承 AggregateFunction 抽象类实现的聚合函数的实现AggregationFunction要求必须实现的方法createAccumulator(原创 2021-07-29 14:02:43 · 1082 阅读 · 0 评论