03.Flink SQL之在Catalog中注册表

[TOC]一、表(Table)的概念TableEnvironment 可以注册目录 Catalog,并可以基于 Catalog 注册表。它会维护一个 Catalog-Table 表之间的map。表(Table)是由一个“标识符”来指定的,由三部分组成:Catalog 名、数据库(database)名和对象名(表名)。如果没有指定目录或数据库,就使用当前的默认值。表可以是常规的(Table,表...

大数据 2022-02-21 PM 1515次 0条

02.Table API和Flink SQL程序的结构

[TOC]前言Table API和SQL两者结合非常紧密,它们的API与关系型数据库中查询非常相似,本质上它们都依赖于一个像数据表的结构:Table。在具体执行层面,Flink将Table API或SQL语句使用一个名为执行计划器(Planner)的组件将关系型查询转换为可执行的Flink作业,并对作业进行一些优化。一、基本程序结构Table API 和 SQL 集成在同一套API中。这套 ...

大数据 2022-02-18 PM 1086次 0条

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 945次 0条

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

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

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

34.Flink保存点(Savepoints)介绍

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

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

33.Flink重启策略

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

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

32.Flink Checkpoint配置

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

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

31.Flink容错机制介绍

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

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

30.Flink状态一致性

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

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

29.Flink状态后端(State Backends)

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

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