微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

获取错误:无法在运行 spark-submit 时加载 org/hl7/fhir/instance/model/api/IAnyResource

如何解决获取错误:无法在运行 spark-submit 时加载 org/hl7/fhir/instance/model/api/IAnyResource

我正在尝试在一个 java 中执行 spark-submit,该 java 也有一些项目中需要的 HAPI-FHIR 库。当我执行作业时,出现以下错误

Error: Failed to load package.MainClass: org/hl7/fhir/instance/model/api/IAnyResource

我已经在 pom.xml 中包含了 FHIR 依赖项,如图所示

FHIR dependencies

FHIR 版本:R4
HAPI FHIR 版本为:5.4.2
PS:我在 ec2 实例上运行它

解决方法

在 Maven 中导入依赖项会在编译时类路径中提供它,以便您可以编译代码。它本身不会将这些依赖项与您的部署代码打包在一起。我不确定所有工具都可用于 Spark 或其最佳实践,但我猜您需要打包一个“超级”(又名“阴影”)jar,其中包含您编译的代码和所有依赖项都在一个自我中- 包含的 jar 文件,您可以提交给 spark。

有几种工具可以做到这一点。最常见的可能是maven shade插件:https://maven.apache.org/plugins/maven-shade-plugin/

,

正如@crig 提到的,Spark 在其类路径中找不到 jar。 我尝试为所有罐子创建一个胖罐,但不知道为什么无法创建胖罐 但是将罐子添加到 spark-submit --jars hapi-fhir-base-5.4.2 解决了问题

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。