退订

2023-04-20 文章 于光远
退订













--

于光远
phone: 187-3364-3045
E-mail: programme...@163.com

退订

2023-04-20 文章 杨光跃


退订
| |
杨光跃
|
|
yangguangyuem...@163.com
|



Re: 不同的流程使用不同的并行度

2023-04-20 文章 yidan zhao
从哪方面考虑,主要根据每个算子的工作复杂性,复杂性越高自然设置越高的并发好点。 其次实际运行时,也可以根据反压情况找到瓶颈进行调整。

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: 不同的流程使用不同的并行度

2023-04-20 文章 Shammon FY
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
> |


不同的流程使用不同的并行度

2023-04-20 文章 小昌同学


各位老师好,请教一下关于flink的并行度的问题;
我现在数据上游是kafka(四个分区),经过Flink 
ETL处理后,实时落地到Kafka以及MYSQL,那我想在不同的阶段设置不同的并行度,这一块可以怎么使用,我使用的是DataStream API
还想请教一下就是关于并行度的这个设置,应该从哪些方面进行考虑啊,麻烦各位老师指教一下
| |
小昌同学
|
|
ccc0606fight...@163.com
|

Re: [External] Re: 用Flink Table API和RocksDB不能正常升级状态数据结构

2023-04-20 文章 Elvis Chen
感谢回复。我们在之前使用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作业的影响

2023-04-20 文章 Ran Tao
作业不 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作业的影响

2023-04-20 文章 Ran Tao
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作业的影响

2023-04-20 文章 Ran Tao
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作业的影响

2023-04-20 文章 Weihua Hu
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作业的影响

2023-04-20 文章 casel.chen
实际工作中会遇到kafka版本升级或者kafka扩容(横向或纵向),数据重平衡等情况,想问一下发生这些情况下对线上运行的flink作业会有什么影响?flink作业能感知topic分区发生变化吗?要如何应对以减少对flink作业消费端的影响?