flink自动生成的uid已被禁用,但尚未将uid或哈希分配给运算符分区

jum4pzuy  于 2021-06-24  发布在  Flink
关注(0)|答案(1)|浏览(357)

使用最新的flink版本1.9.1,并设置:

env.getConfig().disableAutoGeneratedUIDs();

我已经为我使用的所有操作符(filter、flatmap、connect)提供了uid,但运行时出现以下异常:
线程“main”java.lang.illegalstateexception中出现异常:已禁用自动生成的uid,但未将uid或哈希分配给运算符分区
operator partition是指我使用的keyby运算符,但是没有可以应用于它的'uid'函数:

有什么问题?我错过了什么?

xpcnnkqh

xpcnnkqh1#

这是一只虫子——见flink-14910。这将在1.9.2和1.10.0中修复。
作为一个解决办法你可以做

keyedStream = foo.keyBy(...)
keyedStream.getTransformation().setUid("blah")

看到了吗http://apache-flink-user-mailing-list-archive.2336050.n4.nabble.com/how-to-assign-a-uid-to-a-keyedstream-td32052.html 再讨论一下。

相关问题