代码开头如下:
return pcol.apply(ParDo.named("FindTheBug")
.withSideInputs(foo)
.withSideInputs(bar(
.of(new DoFn<T, U>() {
F myFoo = c.sideInput(foo);
B myBar = c.sideInput(bar);
声明了这些侧输入,为什么数据流没有看到它们?
答案 0 :(得分:5)
事实证明,不允许多次调用withSideInputs。代码应该是这样的:
return pcol.apply(ParDo.named("FindTheBug")
.withSideInputs(foo, bar)
.of(new DoFn<T, U>() {
// now you can access both side inputs
提示是函数被称为&#34; withSideInputs&#34;,而不是&#34; withSideInput&#34;。这让我不止一次地绊倒了,并且不是可谷歌的,所以我想我会把它写下来以防其他人碰到这个!
答案 1 :(得分:1)
此外,当忘记拨打withSideInputs
时会发生此错误。