我正在使用类型安全配置https://github.com/typesafehub/Config来参数化一个以配置文件运行在纱线集群模式下的Spark作业。Typesafe Config的默认行为是在类路径中搜索名称与正则表达式匹配的资源,并使用configFactory.load()
自动将它们加载到配置类中(出于我们的目的,假设它查找的文件名为application.conf
)。
我可以使用--driver-class-path<包含配置文件的目录>
将配置文件加载到驱动程序中,但是使用--conf spark.executor.extraclasspath=<包含配置文件的目录>
并不像它应该的那样将资源放在所有执行程序的类路径中。执行器报告说,它们找不到某个键的特定配置设置,该键确实存在于我试图添加到它们的类路径的配置文件中。
使用Spark向所有executor JVM的类路径添加文件的正确方法是什么?
看起来spark.executor.extraclasspath
属性的值是相对于执行器上应用程序的工作目录的。
因此,要正确使用此属性,应该使用--files
首先引导Spark将文件复制到所有执行程序的工作目录中,然后使用Spark.executor.extraclasspath=./
将执行程序的工作目录添加到其类路径中。这种组合使执行程序能够从配置文件中读取值。
问题内容: 我在上,我尝试了下都无济于事。还尝试将jar移到src目录,但是java文件仍然无法编译。尝试在脚本中简单地导入httpclient。 问题答案: 安装您的JDK并将 其放置 。难道 不是 .jar文件复制到你的JDK的文件夹! 如果您还没有一个IDE,我建议您使用Eclipse或Netbeans这样的IDE。 我将建立一个新项目,创建或导入您的源,并为该项目设置一个类路径。 如果那行
我试图开发一个连接到Oracle数据库并执行函数的Java应用程序。如果我在Eclipse中运行应用程序,它可以工作,但是当我尝试在Windows命令提示符中运行. jar时,我会得到“遇到的错误:java.sql.SQLExc0019:找不到合适的驱动程序”。 我正在通过所有人的道路。在命令行中执行时,Eclipse中Maven依赖项中显示的jar文件。 步骤 > 从目标目录执行. jar,使用
这个问题与我的另一个问题类似,但这次是针对Microsoft Azure的。 我们有一个配置文件需要在驱动程序(可能还有执行程序)的类路径中。 在Microsoft Azure中定义数据库群集时,我配置了自定义Spark配置:spark.executor.extraClassPath和spark.driver.extraClassPath。我将两个路径指向dbfs中包含我们配置的目录。但正如一半人
我正在使用maven构建工具。我的意图是将单独的绝对文件夹[例如:C:\test1.jar,C:\test2.jar]中可用的jar文件添加到类路径中。 我可以看到JAR被添加到war中可用的Manifest.mf文件的类路径中,但当war部署时,它由于“java.lang.ClassNotFoundException”[与test1.jar或test2.jar相关]而失败。 这是否意味着在man
问题内容: 在开发Java项目时,我将所有jar文件都放在一个在项目内部创建的文件夹中,称为Now,是否可以将文件夹添加到Java类路径中,而不必添加每个jar文件? 我在考虑变量或创建用户库的思路。 问题答案: 根据您所说的,我可能会创建一个包含您的库JAR的用户库。 您可以使用Window => Preferences创建一个用户库,向下钻取到Java => Build Path => Use
问题内容: 有没有办法使用Eclipse在类路径的目录中包含所有jar文件? 可以通过以下命令使用命令行来完成: 但是如何从日食中做到呢? 编辑: 我在项目文件夹中将条目编辑为: 这是文件所在的文件夹。但这没有用。 更新: 似乎没有直接的方法可以做到这一点。可能最简单的解决方案是创建用户库。 问题答案: 将所有必要的JAR复制到项目内部的文件夹中,而不是使用项目外部的文件夹。 现在,您可以选择该文