gpt4 book ai didi

hadoop - 无法在 HUE oozie 中运行 spark 作业。异常 : "datanucleus-api-jdo-3.2.1.jar does not exist"

转载 作者:可可西里 更新时间:2023-11-01 16:42:08 26 4
gpt4 key购买 nike

我想知道的是 spark 如何/在哪里挑选所需的 jar 。

文件:/mnt/md0/yarn/nm/usercache/kylin/appcache/application_1468506830246_161908/container_1468506830246_161908_01_000001/datanucleus-api-jdo-3.2.1.jar 不存在。

<spark-opts>
--num-executors 30
--executor-memory 18g
--executor-cores 15
--driver-memory 2g
--files hdfs:///jobs/kylin/hive-site.xml
--jars datanucleus-api-jdo-3.2.1.jar,datanucleus-rdbms-3.2.1.jar,datanucleus-core-3.2.2.jar
--conf spark.shuffle.manager=tungsten-sort
--conf spark.shuffle.consolidateFiles=true
--conf spark.yarn.executor.memoryOverhead=3072
--conf spark.shuffle.memoryFraction=0.7
--conf spark.storage.memoryFraction=0.05
--conf spark.spot.instances=30
</spark-opts>

最佳答案

我们需要提供 jar 的绝对路径,否则会失败。

请查看 spark 文档中的以下详细信息,了解提供 --jar 的不同方式。

使用 spark-submit 时,应用程序 jar 以及包含在 --jars 选项中的任何 jar 将自动传输到集群。 --jars 之后提供的 URL 必须用逗号分隔。该列表包含在驱动程序和执行程序类路径中。目录扩展不适用于 --jars。

Spark 使用以下 URL 方案来允许传播 jar 的不同策略:

file: - 绝对路径和 file:/URI 由驱动程序的 HTTP 文件服务器提供,每个执行程序都从驱动程序 HTTP 服务器拉取文件。

hdfs:、http:、https:、ftp: - 这些按预期从 URI 中提取文件和 JAR

local: - 以 local:/开头的 URI 应作为本地文件存在于每个工作节点上。这意味着不会产生网络 IO,并且适用于推送给每个工作人员或通过 NFS、GlusterFS 等共享的大型文件/JAR。

请注意,JAR 和文件会复制到执行程序节点上每个 SparkContext 的工作目录中。随着时间的推移,这会占用大量空间,需要清理。使用 YARN,清理是自动处理的,而使用 Spark standalone,可以使用 spark.worker.cleanup.appDataTtl 属性配置自动清理。

用户还可以通过使用 --packages 提供以逗号分隔的 Maven 坐标列表来包含任何其他依赖项。使用此命令时将处理所有传递依赖项。可以使用标志 --repositories 以逗号分隔的方式添加其他存储库(或 SBT 中的解析器)。这些命令可以与 pyspark、spark-shell 和 spark-submit 一起使用以包含 Spark 包。

对于 Python,等效的 --py-files 选项可用于将 .egg、.zip 和 .py 库分发给执行程序。

请检查link获取更多信息。

关于hadoop - 无法在 HUE oozie 中运行 spark 作业。异常 : "datanucleus-api-jdo-3.2.1.jar does not exist",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39907293/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com