Getting Error : Failed to load org/hl7/fhir/instance/model/api/IAnyResource on running spark-submit
Getting Error : Failed to load org/hl7/fhir/instance/model/api/IAnyResource on running spark-submit
我正在尝试在 java 中执行 spark-submit,它也有项目中需要的一些 HAPI-FHIR 库。当我执行作业时出现以下错误
Error: Failed to load package.MainClass: org/hl7/fhir/instance/model/api/IAnyResource
我已经在 pom.xml 中包含了 FHIR 依赖项,如图所示
FHIR 版本:R4
HAPI FHIR 版本为:5.4.2
PS : 我是 运行 它在 ec2 实例上
在 Maven 中导入依赖项会在编译时类路径中提供它,以便您可以编译代码。它本身不会将这些依赖项与您的部署代码打包在一起。我不确定 Spark 可用的所有工具或其最佳实践,但我猜你需要打包一个“uber”(又名“阴影”)jar,其中包含你编译的代码和依赖项,所有这些都在一个单独的自我中- 包含可以提交给 spark 的 jar 文件。
有多种工具可以执行此操作。最常见的可能是 maven shade 插件:https://maven.apache.org/plugins/maven-shade-plugin/
正如@crig 提到的那样,Spark 在其 class 路径中找不到罐子。
我尝试为所有罐子创建一个胖罐子,但不知道为什么无法创建胖罐子
但是将罐子添加到 spark-submit --jars hapi-fhir-base-5.4.2
解决了问题
我正在尝试在 java 中执行 spark-submit,它也有项目中需要的一些 HAPI-FHIR 库。当我执行作业时出现以下错误
Error: Failed to load package.MainClass: org/hl7/fhir/instance/model/api/IAnyResource
我已经在 pom.xml 中包含了 FHIR 依赖项,如图所示
FHIR 版本:R4
HAPI FHIR 版本为:5.4.2
PS : 我是 运行 它在 ec2 实例上
在 Maven 中导入依赖项会在编译时类路径中提供它,以便您可以编译代码。它本身不会将这些依赖项与您的部署代码打包在一起。我不确定 Spark 可用的所有工具或其最佳实践,但我猜你需要打包一个“uber”(又名“阴影”)jar,其中包含你编译的代码和依赖项,所有这些都在一个单独的自我中- 包含可以提交给 spark 的 jar 文件。
有多种工具可以执行此操作。最常见的可能是 maven shade 插件:https://maven.apache.org/plugins/maven-shade-plugin/
正如@crig 提到的那样,Spark 在其 class 路径中找不到罐子。
我尝试为所有罐子创建一个胖罐子,但不知道为什么无法创建胖罐子
但是将罐子添加到 spark-submit --jars hapi-fhir-base-5.4.2
解决了问题