退订
退订 -- 于光远 phone: 187-3364-3045 E-mail: programme...@163.com
退订
退订 | | 杨光跃 | | yangguangyuem...@163.com |
Re: 不同的流程使用不同的并行度
从哪方面考虑,主要根据每个算子的工作复杂性,复杂性越高自然设置越高的并发好点。 其次实际运行时,也可以根据反压情况找到瓶颈进行调整。 Shammon FY 于2023年4月21日周五 09:04写道: > > Hi > > DataStream作业设置并发度有两种方式 > 1. 在ExecutionEnvironment通过setParallelism设置全局并发 > 2. 在DataStream中通过setParallelism为指定的datastream计算设置并发度 > > Best, > Shammon FY > > On Fri, Apr 21, 2023 at 8:58 AM 小昌同学 wrote: > > > > > > > 各位老师好,请教一下关于flink的并行度的问题; > > 我现在数据上游是kafka(四个分区),经过Flink > > ETL处理后,实时落地到Kafka以及MYSQL,那我想在不同的阶段设置不同的并行度,这一块可以怎么使用,我使用的是DataStream API > > 还想请教一下就是关于并行度的这个设置,应该从哪些方面进行考虑啊,麻烦各位老师指教一下 > > | | > > 小昌同学 > > | > > | > > ccc0606fight...@163.com > > |
Re: 不同的流程使用不同的并行度
Hi DataStream作业设置并发度有两种方式 1. 在ExecutionEnvironment通过setParallelism设置全局并发 2. 在DataStream中通过setParallelism为指定的datastream计算设置并发度 Best, Shammon FY On Fri, Apr 21, 2023 at 8:58 AM 小昌同学 wrote: > > > 各位老师好,请教一下关于flink的并行度的问题; > 我现在数据上游是kafka(四个分区),经过Flink > ETL处理后,实时落地到Kafka以及MYSQL,那我想在不同的阶段设置不同的并行度,这一块可以怎么使用,我使用的是DataStream API > 还想请教一下就是关于并行度的这个设置,应该从哪些方面进行考虑啊,麻烦各位老师指教一下 > | | > 小昌同学 > | > | > ccc0606fight...@163.com > |
不同的流程使用不同的并行度
各位老师好,请教一下关于flink的并行度的问题; 我现在数据上游是kafka(四个分区),经过Flink ETL处理后,实时落地到Kafka以及MYSQL,那我想在不同的阶段设置不同的并行度,这一块可以怎么使用,我使用的是DataStream API 还想请教一下就是关于并行度的这个设置,应该从哪些方面进行考虑啊,麻烦各位老师指教一下 | | 小昌同学 | | ccc0606fight...@163.com |
Re: [External] Re: 用Flink Table API和RocksDB不能正常升级状态数据结构
感谢回复。我们在之前使用Flink 1.11的应用是可以支持增加带默认值的field。目前1.16的Table API无法兼容吗? On Mon, Apr 17, 2023 at 11:21 PM Shammon FY wrote: > Hi > > 目前增减列数据会导致状态无法兼容 > > Best, > Shammon FY > > > On Fri, Apr 14, 2023 at 9:09 PM Elvis Chen > wrote: > > > 我们正在使用flink-1.16.0的Table API和RocksDB作为后端,为我们的用户提供运行SQL > > > > > queries的服务。表格是使用Avro模式创建的,当以兼容的方式更改模式,例如添加一个带默认值的field时,我们无法从savepoint恢复作业。这是在数据结构升级后的报错: > > Caused by: org.apache.flink.util.StateMigrationException: The new state > > serializer > > (org.apache.flink.table.runtime.typeutils.RowDataSerializer@aad5b03a) > must > > not be incompatible with the old state serializer > > (org.apache.flink.table.runtime.typeutils.RowDataSerializer@9d089984) > > ... > > >
Re: kafka实例重启对flink作业的影响
作业不 fo Best Regards, Ran Tao Ran Tao 于2023年4月20日周四 16:12写道: > offset 重放,mistake > > Best Regards, > Ran Tao > > > Ran Tao 于2023年4月20日周四 16:11写道: > >> 1.一种比较干净但是暴力的做法是Flink一旦检测到分区变化,就执行作业fo. >> fo后读取最新的分区列表,旧的分区从状态中进行offer重放,新分区执行特定的点位启动策略。它的做法比较干净暴力。 >> >> 2.第二种就是动态的分区发现(指作业fo,异步线程一直check分区变化,针对removed或者insert的分区单独处理), >> 这个在 newKafkaSource 中已经实现了。旧的kafka source实现社区有 FLIP[1] >> 讨论这个问题。实现侧来看,这种方案相对于第一种复杂一些,需要开发者比较小心的处理状态以及某些极端环境的fo导致的问题[2]。 >> >> [1] >> https://cwiki.apache.org/confluence/display/FLINK/FLIP-288%3A+Enable+Dynamic+Partition+Discovery+by+Default+in+Kafka+Source >> [2] https://issues.apache.org/jira/browse/FLINK-31006 >> >> 其实这两种做法不仅仅适用于kafka,对于任意的source或者mq都可以使用。希望对你有所帮助。 >> >> Best Regards, >> Ran Tao >> >> >> casel.chen 于2023年4月20日周四 15:43写道: >> >>> >>> 实际工作中会遇到kafka版本升级或者kafka扩容(横向或纵向),数据重平衡等情况,想问一下发生这些情况下对线上运行的flink作业会有什么影响?flink作业能感知topic分区发生变化吗?要如何应对以减少对flink作业消费端的影响? >> >>
Re: kafka实例重启对flink作业的影响
offset 重放,mistake Best Regards, Ran Tao Ran Tao 于2023年4月20日周四 16:11写道: > 1.一种比较干净但是暴力的做法是Flink一旦检测到分区变化,就执行作业fo. > fo后读取最新的分区列表,旧的分区从状态中进行offer重放,新分区执行特定的点位启动策略。它的做法比较干净暴力。 > > 2.第二种就是动态的分区发现(指作业fo,异步线程一直check分区变化,针对removed或者insert的分区单独处理), > 这个在 newKafkaSource 中已经实现了。旧的kafka source实现社区有 FLIP[1] > 讨论这个问题。实现侧来看,这种方案相对于第一种复杂一些,需要开发者比较小心的处理状态以及某些极端环境的fo导致的问题[2]。 > > [1] > https://cwiki.apache.org/confluence/display/FLINK/FLIP-288%3A+Enable+Dynamic+Partition+Discovery+by+Default+in+Kafka+Source > [2] https://issues.apache.org/jira/browse/FLINK-31006 > > 其实这两种做法不仅仅适用于kafka,对于任意的source或者mq都可以使用。希望对你有所帮助。 > > Best Regards, > Ran Tao > > > casel.chen 于2023年4月20日周四 15:43写道: > >> >> 实际工作中会遇到kafka版本升级或者kafka扩容(横向或纵向),数据重平衡等情况,想问一下发生这些情况下对线上运行的flink作业会有什么影响?flink作业能感知topic分区发生变化吗?要如何应对以减少对flink作业消费端的影响? > >
Re: kafka实例重启对flink作业的影响
1.一种比较干净但是暴力的做法是Flink一旦检测到分区变化,就执行作业fo. fo后读取最新的分区列表,旧的分区从状态中进行offer重放,新分区执行特定的点位启动策略。它的做法比较干净暴力。 2.第二种就是动态的分区发现(指作业fo,异步线程一直check分区变化,针对removed或者insert的分区单独处理), 这个在 newKafkaSource 中已经实现了。旧的kafka source实现社区有 FLIP[1] 讨论这个问题。实现侧来看,这种方案相对于第一种复杂一些,需要开发者比较小心的处理状态以及某些极端环境的fo导致的问题[2]。 [1] https://cwiki.apache.org/confluence/display/FLINK/FLIP-288%3A+Enable+Dynamic+Partition+Discovery+by+Default+in+Kafka+Source [2] https://issues.apache.org/jira/browse/FLINK-31006 其实这两种做法不仅仅适用于kafka,对于任意的source或者mq都可以使用。希望对你有所帮助。 Best Regards, Ran Tao casel.chen 于2023年4月20日周四 15:43写道: > > 实际工作中会遇到kafka版本升级或者kafka扩容(横向或纵向),数据重平衡等情况,想问一下发生这些情况下对线上运行的flink作业会有什么影响?flink作业能感知topic分区发生变化吗?要如何应对以减少对flink作业消费端的影响?
Re: kafka实例重启对flink作业的影响
Flink kafka connector 支持自动发现 partition,可以参考官方文档[1] [1] https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/connectors/datastream/kafka/#dynamic-partition-discovery Best, Weihua On Thu, Apr 20, 2023 at 3:43 PM casel.chen wrote: > > 实际工作中会遇到kafka版本升级或者kafka扩容(横向或纵向),数据重平衡等情况,想问一下发生这些情况下对线上运行的flink作业会有什么影响?flink作业能感知topic分区发生变化吗?要如何应对以减少对flink作业消费端的影响?
kafka实例重启对flink作业的影响
实际工作中会遇到kafka版本升级或者kafka扩容(横向或纵向),数据重平衡等情况,想问一下发生这些情况下对线上运行的flink作业会有什么影响?flink作业能感知topic分区发生变化吗?要如何应对以减少对flink作业消费端的影响?