一、表类型介绍 1,基本介绍 (1)Flink 中的表从全局层面进行划分,可以分为静态表(Static Table)和动态表(Dynamic Table)。 其中动态表里面中还包括一种特殊的表:时态表(Temporal Table)。时态表是在 Flink1.11 版本中引入的,只在 Blink 引擎中支持......
数据源和目的地都是 Kafka 这种情况再实际工作中比较常见,可以实现数据的实时计算。下面通过样例进行演示。 一、Kafka(Source) + Kafka(Sink)案例 1,准备工作 首先我们需要在项目的 pom.xml 中添加 Flink SQL 相关的依赖,以及 flink-connector-kafka、flink-json 依赖......
DDL 语句主要涉及到创建表、修改表和删除表、但是针对 Flink SQL 而言,在工作中主要涉及的操作就是创建表。下面我将通过案例来演示一下如何使用 Flink SQL 语句创建表。 一、FileSystem(Source) + Print(Sink)案例 1,准备工作 首先我们需要在项目的 pom.xml 中添加 Flink SQL 相关的依赖......
link 中最大的一个亮点其实就是他的 SQL 了,我们之前所接触的 Hive SQL、Spark SQL 都是基于离线数据的 SQL 计算,而 Flink 的 SQL 是可以支持实时数据计算的,这样就可以极大简化企业中实时数据分析的工作量。 一、离线计算与实时计算 1,离线计算......
默认情况下 State 数据会一直存在,如果存储了过多状态数据,可能会导致内存溢出(针对 HashMapStateBackend)。因此从 Flink 1.6 版本开始引入了 State TTL 特性。类似于 Redis 中的 TTL 机制,超时自动删除。下面我通过样例进行演示。 1,基本介绍 (1)TTL 特性可以支持对 KeyedState 中过期状态数据的自动清理......
七、OperatorState 样例 1:使用 BroadcastState 实现双流连接 1,需求说明 (1)针对 BroadcastState 的使用,一个典型的应用案例就是两个流连接的场景。 假设其中一个数据流是“事件数据流”,它属于普通的数据流,里面是一些用户行为数据。 另外一个数据流是“配置数据流”,它不是普通的数据流......
六、OperatorState 样例 1:ListState 实现有状态的批量输出功能 1,需求说明 我们想要实现一个批量输出的功能,此时可以考虑在 Sink 组件内部定义一个缓存,但是还要保证数据一定会输出到外部系统。 2,实现逻辑 这个时候就需要借助于状态实现了,通过 CheckpointedFunction 接口......
四、KeyedState 样例 4:使用带有状态的算子 1,使用 Keyed State 的 3 种形式 (1)通过重写 RichXXXFunction,在里面创建和操作状态。 例如针对 map 算子可以使用 RichMapFunction,针对 flatmap 算子可以使用 RichFlatMapFunction 等。 在这里使用对应的 RichFunction 主要是因为它里面提供了......
四月头条:昔日20强语言Kotlin、Ruby与Swift处境艰难 在 TIOBE 编程语言排行榜中,Kotlin、Ruby 和 Swift 一直稳居前二十名,直到最近才开始动摇。如今,它们似乎失去了吸引力,有可能逐渐被淘汰。Kotlin 与 Swift 的衰落原因如出一辙:二者分别专用于移动平台 Android 和 iOS......
三、KeyedState 样例 3:使用 ListState 实现订单数据补全(双流 Join) 1,需求说明 大致需求是这样的,某外卖平台需要开发一个实时订单消息推送功能,当用户下单,并且成功支付后向商家推送一条消息。 2,实现逻辑 (1)由于下单数据是一个数据流,支付数据是另外一个数据流。 订单数据流......