新的ptransform是否需要实现或指定transformtranslator?

jmp7cifd  于 2021-07-03  发布在  Java
关注(0)|答案(1)|浏览(284)

我试着用ptransform编写一个定制的束流源。
尝试在本地进行单元测试时,在运行时出现以下错误:

java.lang.IllegalStateException: No translator known for my.new.PTransform
at org.apache.beam.repackaged.direct_java.runners.core.construction.PTransformTranslation.urnForTransform(PTransformTranslation.java:191)
at org.apache.beam.runners.direct.RootProviderRegistry.getInitialInputs(RootProviderRegistry.java:69)

我在指南或ptransform样式指南中没有看到任何提到这一点。
我看到对这个异常的几个答案表明maven着色有问题。但是,我不使用或不希望构建uber/fat jar,我可以在构建数据流模板时获取依赖项。
有人知道问题可能是什么吗-测试管道真的需要阴影或一些新的东西,而不在指南中提及吗?
(出于兴趣:在这种情况下,骨灰盒是什么?)
如果做不到这一点,是否有人知道源代码可能在哪里,所以我可以调试它(注意类路径中的重新打包位;似乎与beam可下载的sdk源代码不匹配?
谢谢您。

w3nuxt5m

w3nuxt5m1#

我误解了指南的意思——它说“一个或多个面向用户的 Package 器复合转换(ptransform), Package 读取操作”,下面就足够了:

org.apache.beam.sdk.io.Read.from(new MyNewSource())

相关问题