flink sink jdbc没有数据_Flink实践|Flink Batch SQL 1.10 实践

【Flink2020直播课程即将启动,填问卷!赢大礼!】https://c.tb.cn/F3.ZRuUge 

邀请5位以上小伙伴一起填写问卷~就能申请获得Flink社区最新第三季专刊礼包哦!赶快上车吧! 

Flink 作为流批统一的计算框架,在 1.10 中完成了大量 batch 相关的增强与改进。1.10 可以说是第一个成熟的生产可用的 Flink Batch SQL 版本,它一扫之前 Dataset 的羸弱,从功能和性能上都有大幅改进, 以下我从架构、外部系统集成、实践三个方面进行阐述。

架构

Stack

7b41b7249dfb4683be4b8a9f4575a4a8.png

首先来看下 stack,在新的 Blink planner 中,batch 也是架设在 Transformation 上的,这就意味着我们和 Dataset 完全没有关系了:

  1. 我们可以尽可能的和 streaming 复用组件,复用代码,有同一套行为。

  2. 如果想要 Table/SQL 的 toDataset 或者 fromDataset,那就完全没戏了。尽可能的在 Table 的层面来处理吧。

  3. 后续我们正在考虑在 DataStream 上构建 BoundedStream,给 DataStream 带来批处理的功能。

网络模型

c6cf1d337c999c59d91b80796f406f37.png

Batch 模式就是在中间结果落盘,这个模式和典型的 Batch 处理是一致的,比如 MapReduce/Spark/Tez。

Flink 以前的网络模型也分为 Batch 和 Pipeline 两种,但是 Batch 模式只是支持上下游隔断执行,也就是说资源用量可以不用同时满足上下游共同的并发。但是另外一个关键点是 Failover 没有对接好,1.9 和 1.10 在这方面进行了改进,支持了单点的 Failover。

建议在 Batch 时打开:

jobmanager.execution.failover-strategy = region

为了避免重启过于频繁导致 JobMaster 太忙了,可以把重启间隔提高:

restart-strategy.fix

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值