1、背景
FlinkSQL数据写kafka,如果不设置并行度,默认是1。
但是由于数据量和下游消费者的需求,需要往多个kafka分区写数据,提高并发,在这个情况下,需要保证同一个主键的数据发往同一个partition,flinkSQL已经支持这个功能,接下来我们实现一下
2、实现(python代码)
只需要两步:
1⃣️初始化:初始化加上flink并行的配置table_env.get_config().get_configuration().set_string(“parallelism.default”, “3”)
2⃣️sink:在写sink的时候加上参数sink.partitioner
初始化
from pyflink.table import EnvironmentSettings, StreamTableEnvironment
import time
import sys
#timestamp_str=sys.argv[1]
#timestamp=int(time.mktime(time.strptime(timestamp_str,"%Y-%m-%d %H:%M:%S"))*1000)
env_settings = EnvironmentSettings.new_instance().in_streaming_mode().use_blink_planner().build()
table_env = StreamTableEnvironment.create(environment_settings=env_settings)
table_env.get_config().get_configuration().set_string("parallel

最低0.47元/天 解锁文章
2246

被折叠的 条评论
为什么被折叠?



