我在尝试将着色 jar 作为 Spark 作业提交到 dataproc 时遇到此错误:
java.lang.NoClassDefFoundError: org/apache/beam/sdk/coders/CoderProviderRegistrar
根据 Spark Runner 上的官方 Apache Beam 文档:
Spark Runner 的 Beam 2.46.0 取消了对 Spark 2.4.x 的支持。
这意味着Beam和Spark在您当前的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 插件示例。
希望这有帮助。