我设置了keyby并行度30,如何找到30个唯一的key来使数据流keyByed均匀?flink支持这个吗?因为我不需要太多的 key ,并且我会将 key 作为 influxdb 中的标签,所以我不需要太多的 key ,避免 influxdb 中的 oom。但是我如何使用最小 key 来均匀地通过数据流进行 key ?
我想使用flink来跟踪mysql中表的每次更改(例如更新/插入)。并且我会计算每秒每个表的更改次数。但是有些表更改太多,导致keyby数据倾斜,所以我想使用固定数字 key 来平衡 keyby 流的负载。
最佳答案
从技术上讲它可以,但从你的问题中我了解到你并不真正需要使用keyBy()
,你只是想这样做来重新平衡流。在这种情况下,您可以轻松地在DataStream
上使用rebalance()
,这将导致使用循环算法对流进行分区,这确实会导致负载均匀分布.
关于java - flink可以使用固定数量的key到keyBy一个数据流均匀地避免数据倾斜吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57369122/