google-cloud-dataflow - 运行数据流时出现问题
问题描述
运行数据流作业时出现以下错误。我正在尝试将现有的梁版本更新为 2.11.0,但在运行时出现错误。
java.lang.IncompatibleClassChangeError:类 org.apache.beam.model.pipeline.v1.RunnerApi$StandardPTransforms$Primitives 未在 org.apache.beam.runners.core.construction 实现请求的接口 com.google.protobuf.ProtocolMessageEnum。 org.apache.beam.runners.core.construction.PTransformTranslation.(PTransformTranslation.java:58) 在 org.apache.beam.runners.core.construction.UnconsumedReads$1.visitValue( UnconsumedReads.java:49) 在 org.apache.beam.sdk.runners.TransformHierarchy$Node.visit(TransformHierarchy.java:666) 在 org.apache.beam.sdk.runners.TransformHierarchy$Node.visit(TransformHierarchy.java: 649)在 org.apache.beam.sdk.runners.TransformHierarchy$Node 的 org.apache.beam.sdk.runners.TransformHierarchy$Node.visit(TransformHierarchy.java:649)。在 org.apache.beam.sdk.runners.TransformHierarchy.visit(TransformHierarchy.java) 访问(TransformHierarchy.java:649) :245) 在 org.apache.beam.runners.core.construction.UnconsumedReads.ensureAllReadsConsumed(UnconsumedReads.java:40) 在 org.apache.Pipeline.traverseTopologically(Pipeline.java:458)。 org.apache.beam.runners.dataflow.DataflowRunner.run(DataflowRunner.java:660) 上 org.apache.beam.runners.dataflow.DataflowRunner 上的 beam.runners.dataflow.DataflowRunner.replaceTransforms(DataflowRunner.java:868)。在 org.apache.beam.sdk.Pipeline.run(Pipeline.java:313) 上运行 (DataflowRunner.java:173) 在 org.apache.beam.sdk.Pipeline.run(Pipeline.java:299)beam.sdk.runners.TransformHierarchy$Node.access$600(TransformHierarchy.java:311) at org.apache.beam.sdk.runners.TransformHierarchy.visit(TransformHierarchy.java:245) at org.apache.beam.sdk.Pipeline .traverseTopologically(Pipeline.java:458) at org.apache.beam.runners.core.construction.UnconsumedReads.ensureAllReadsConsumed(UnconsumedReads.java:40) at org.apache.beam.runners.dataflow.DataflowRunner.replaceTransforms(DataflowRunner.java :868) 在 org.apache.beam.runners.dataflow.DataflowRunner.run(DataflowRunner.java:173) 在 org.apache. org.apache.beam.sdk.Pipeline.run(Pipeline.java:299) 上的 beam.sdk.Pipeline.run(Pipeline.java:313)beam.sdk.runners.TransformHierarchy$Node.access$600(TransformHierarchy.java:311) at org.apache.beam.sdk.runners.TransformHierarchy.visit(TransformHierarchy.java:245) at org.apache.beam.sdk.Pipeline .traverseTopologically(Pipeline.java:458) at org.apache.beam.runners.core.construction.UnconsumedReads.ensureAllReadsConsumed(UnconsumedReads.java:40) at org.apache.beam.runners.dataflow.DataflowRunner.replaceTransforms(DataflowRunner.java :868) 在 org.apache.beam.runners.dataflow.DataflowRunner.run(DataflowRunner.java:173) 在 org.apache. org.apache.beam.sdk.Pipeline.run(Pipeline.java:299) 上的 beam.sdk.Pipeline.run(Pipeline.java:313)runners.TransformHierarchy.visit(TransformHierarchy.java:245) at org.apache.beam.sdk.Pipeline.traverseTopologically(Pipeline.java:458) at org.apache.beam.runners.core.construction.UnconsumedReads.ensureAllReadsConsumed(UnconsumedReads. java:40) at org.apache.beam.runners.dataflow.DataflowRunner.replaceTransforms(DataflowRunner.java:868) at org.apache.beam.runners.dataflow.DataflowRunner.run(DataflowRunner.java:660) at org.apache .beam.runners.dataflow.DataflowRunner.run(DataflowRunner.java:173) 在 org.apache.beam.sdk.Pipeline.run(Pipeline.java:313) 在 org.apache.beam.sdk.Pipeline.run(Pipeline .java:299)runners.TransformHierarchy.visit(TransformHierarchy.java:245) at org.apache.beam.sdk.Pipeline.traverseTopologically(Pipeline.java:458) at org.apache.beam.runners.core.construction.UnconsumedReads.ensureAllReadsConsumed(UnconsumedReads. java:40) at org.apache.beam.runners.dataflow.DataflowRunner.replaceTransforms(DataflowRunner.java:868) at org.apache.beam.runners.dataflow.DataflowRunner.run(DataflowRunner.java:660) at org.apache .beam.runners.dataflow.DataflowRunner.run(DataflowRunner.java:173) 在 org.apache.beam.sdk.Pipeline.run(Pipeline.java:313) 在 org.apache.beam.sdk.Pipeline.run(Pipeline .java:299)ensureAllReadsConsumed(UnconsumedReads.java:40) 在 org.apache.beam.runners.dataflow.DataflowRunner.replaceTransforms(DataflowRunner.java:868) 在 org.apache.beam.runners.dataflow.DataflowRunner.run(DataflowRunner.java:660)在 org.apache.beam.runners.dataflow.DataflowRunner.run(DataflowRunner.java:173) 在 org.apache.beam.sdk.Pipeline.run(Pipeline.java:313) 在 org.apache.beam.sdk.Pipeline .run(管道.java:299)ensureAllReadsConsumed(UnconsumedReads.java:40) 在 org.apache.beam.runners.dataflow.DataflowRunner.replaceTransforms(DataflowRunner.java:868) 在 org.apache.beam.runners.dataflow.DataflowRunner.run(DataflowRunner.java:660)在 org.apache.beam.runners.dataflow.DataflowRunner.run(DataflowRunner.java:173) 在 org.apache.beam.sdk.Pipeline.run(Pipeline.java:313) 在 org.apache.beam.sdk.Pipeline .run(管道.java:299)299)299)
解决方案
我没有足够的代表发表评论,但我遇到了这个问题,后来发现我的问题是我的 pom.xml 中有不同的梁版本。有些有 2.19,有些有 2.20。
我会在 pom 或 gradle 文件中快速搜索您的版本,以确保它们都相同。
推荐阅读
- java - 如何将字段的名称应用于 ArrayList,然后向该 ArrayList 添加一些内容
- sql - Oracle SQL:检查条目是否存在,如果不存在则返回
- vba - 将 ComboBox 配置为只读:有办法吗?
- memory-leaks - 卡夫卡内存泄漏
- powerbi - 如何在不显示报表的情况下创建移动布局(仅在移动设备中)
- android - Android Recycler View - 约束布局内的反向布局
- php - 请求 - 迁移到 php 7
- python - 使用 tf2.0/keras 无法获取中间子模型层的输出
- c++ - C ++“无原始循环”而不损失性能
- asp.net - 如何指定自定义 URL 参数名称?