Flink实战之Flink SQL connector支持并行度配置

背景

目前flink sql是不支持source/sink并行度配置的,flink sql中各算子并行度默认是根据source的partition数或文件数来决定的,比如常用的kafka source topic的partition是100,那么fink sql任务的并发就是100。但有时任务相对简单,比如datax任务,没有逻辑根本不需要很大的并发,100并发显然会造成资源的严重浪费。那么就有必要扩展connector使其支持并发度配置。

如何做

一、首先,需要在ddl的with参数中支持并发的配置,比如定义’parallelism‘ = ’10‘。
二、需要各connector支持这个参数的解析,这里分1.11版本之前还是之后。

1.11前

1.11版本,对Table接口进行了重构,在这之前实现一个connector需要做哪些,请见Flink实战之自定义flink sql connector。这里就以kafka为例来说明。
当ddl增加了parallelism配置之后,如何让connector识别呢?

  1. 需要在KafkaTableSourceSinkFactoryBase#supportedProperties增加一行properties.add(“parallelism”);
  2. parallelism的配置所在的properties会传递到KafkaTableSourceBase或KafkaTableSinkBase
  3. 这是就看你是需要扩展source还是sink或者两者都要了,source的话在KafkaTableSource
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值