01.Table API和Flink SQL介绍

[TOC]前言前面我们介绍过,Flink的API是分层的,而Table API与SQL就位于最顶层。也就是说Table API和SQL是Flink中封装程度最高的API。Flink 自从 0.9 版本开始支持 Table & SQL 功能一直处于完善开发中,且在不断进行迭代。一、概述​ Flink 本身是批流统一的处理框架,所以 Table API 和 SQL,就是批流统一的上...

大数据 2022-02-17 PM 1527次 0条

35.Flink和Kafka实现端到端exactly-once语义详解

[TOC]一、概念我们知道,端到端的状态一致性的实现,需要每一个组件都实现,对于 Flink + Kafka 的数据管道系统(Kafka 进、Kafka 出)而言,各组件怎样保证 exactly-once 语义呢?内部:利用 checkpoint 机制,把状态存盘,发生故障的时候可以恢复, 保证内部的状态一致性;source:kafka consumer 作为 source,可以将偏移量保存...

大数据 2022-02-16 PM 1690次 0条

34.Flink保存点(Savepoints)介绍

[TOC]一、Savepoint概念Savepoint是依据Flink checkpointing机制所创建的流作业执行状态的一致镜像。可以使用Savepoint进行 Flink 作业的停止与重启、fork 或者更新。Savepoint由两部分组成:稳定存储(列入 HDFS,S3,…) 上包含二进制文件的目录(通常很大)元数据文件(相对较小)稳定存储上的文件表示作业执行状态的数据镜像。 Sa...

大数据 2022-02-15 PM 2211次 0条

33.Flink重启策略

[TOC]前言​ Flink支持不同的重启策略,这些重启策略控制着job失败后如何重启。集群可以通过默认的重启策略来重启,这个默认的重启策略通常在未指定重启策略的情况下使用,而如果Job提交的时候指定了重启策略,这个重启策略就会覆盖掉集群的默认重启策略。一、概述Flink默认重启策略可以通过配置文件flink-conf.yaml来进行配置,通过配置参数restart-strat...

大数据 2022-02-14 AM 2490次 2条

32.Flink Checkpoint配置

前言​ Flink 中的每个方法或算子都能够是有状态的。状态化的方法在处理单个元素/事件的时候存储数据,让状态成为使各个类型的算子更加精细的重要部分。为了让状态容错,Flink 需要为状态添加 checkpoint(检查点)。Checkpoint 使得 Flink 能够恢复状态和在流中的位置,从而向应用提供和无故障执行时一样的语义。一、开启与配置 Checkpoint默认情况下...

大数据 2022-02-13 PM 2791次 0条

31.Flink容错机制介绍

[TOC]前言​ 作为分布式系统,尤其是对延迟敏感的实时计算引擎,Apache Flink 需要有强大的容错机制,以确保在出现机器故障或网络分区等不可预知的问题时可以快速自动恢复并依旧能产生准确的计算结果。​ 事实上,Flink 有一套先进的快照机制来持久化作业状态,确保中间数据不会丢失,这通常需要和错误恢复机制配合使用。​ 在遇到错误时,Flink...

大数据 2022-02-13 PM 1571次 0条

30.Flink状态一致性

[TOC]前言当在分布式系统中引入状态时,自然也引入了一致性问题。状态一致性的本质就是成功处理故障并恢复前后的结果的正确性级别。也就是说在成功处理故障并恢复之后得到的结果,与没有发生任何故障时得到的结果相比,前者到底有多正确?举例来说,假设要对最近一小时登录的用户计数。在系统经历故障之后,计数结果是多少?如果有偏差,是有漏掉的计数(最多一次)还是重复计数(最少一次)?一、一致性级别在流处理中...

大数据 2022-02-13 PM 1265次 0条

29.Flink状态后端(State Backends)

[TOC]一、概念每传入一条数据,有状态的算子任务都会读取和更新状态;由于有效的状态访问对于处理数据的低延迟至关重要,因此每个并行任务都会在本地维护其状态,以确保快速的状态访问;状态的存储、访问以及维护,由一个可插入的组件决定,这个组件就叫做状态后端(state backend);状态后端主要负责两件事:本地的状态管理,以及将检查点(checkpoint)状态写入远程存储。总结:State ...

大数据 2022-02-12 PM 1671次 0条

28.Flink ProcessFunction应用示例

[TOC]前言版本:Flink 1.10.1Scala 1.12数据准备:sensor_1,1547718199,35.8 sensor_6,1547718201,15.4 sensor_7,1547718202,6.7 sensor_10,1547718205,38.1 sensor_1,1547718206,32 sensor_1,1547718208,36.2 sensor_1,154...

大数据 2022-01-30 AM 1435次 0条

27.【转载】Flink ProcessFunction API全解析及实战

[TOC]一、Process Function我们之前学习的转换算子是无法访问事件的时间戳信息和水位线信息的,例如MapFunction这样的map转换算子就无法访问时间戳或者当前事件的事件时间。而这在一些应用场景下,极为重要。基于此,DataStream API提供了一系列的Low-Level转换算子,可以访问时间戳、watermark以及注册定时事件。还可以输出特定的一些事件,例如超时事...

大数据 2022-01-29 PM 2108次 0条