java.lang.NoClassDefFoundError:org/apache/beam/sdk/coders/CoderProviderRegistrar

问题描述 投票:0回答:1

我在尝试将着色 jar 作为 Spark 作业提交到 dataproc 时遇到此错误:

java.lang.NoClassDefFoundError: org/apache/beam/sdk/coders/CoderProviderRegistrar 

我确信这个类存在。问题出在哪里?

java apache-spark apache-beam dataproc
1个回答
0
投票

根据 Spark Runner 上的官方 Apache Beam 文档

Spark Runner 的 Beam 2.46.0 取消了对 Spark 2.4.x 的支持。

这意味着BeamSpark在您当前的Spark Runner中不可用。

通过添加

beam-runners-spark-3
apache-streaming
apache-core

来尝试这些依赖项
<dependency>
  <groupId>org.apache.beam</groupId>
  <artifactId>beam-runners-spark-3</artifactId>
  <version>2.50.0</version>
</dependency>
<dependency>
  <groupId>org.apache.spark</groupId>
  <artifactId>spark-core_2.12</artifactId>
  <version>2.4.8</version>
</dependency>
<dependency>
  <groupId>org.apache.spark</groupId>
  <artifactId>spark-streaming_2.12</artifactId>
  <version>2.4.8</version>
</dependency>

请参阅文档了解更多信息,因为它具有有关如何设置和运行它的完整分步过程。

注意: 它也有 Maven Shade 插件示例。

希望这有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.