JavaSparkContext - jarOfClass或jarOfObject不起作用

时间:2015-03-12 00:14:23

标签: apache-spark

您好我正在尝试针对群集运行我的spark服务。事实证明,我必须做setJars并在那里设置我的应用程序jar。如果我使用物理路径这样做,就像它的工作原理一样 conf.setJars(new String[]{"/path/to/jar/Sample.jar"});

但是如果我尝试使用JavaSparkContext(或SparkContext)api jarOfClass或jarOfObject它不起作用。基本上API无法找到jar本身。

以下返回空白 JavaSparkContext.jarOfObject(this); JavaSparkContext.jarOfClass(this.getClass())

只有在有效的情况下它才是优秀的API!还有其他人能够利用这个吗?

2 个答案:

答案 0 :(得分:1)

[我已经包含了Scala的示例。我相信它将以相同的方式用于Java]

如果您这样做,它将起作用:

SparkContext.jarOfObject(this.getClass)

令人惊讶的是,这适用于Scala Object和Scala Class。

答案 1 :(得分:0)

你是如何运行该应用程序的?如果您是从IDE或编译工具(如sbt)运行它,那么

  • 运行时jar不是包,
  • 如果您之前打包过一次,那么您的/path/to/jar/Sample.jar就存在,从而使硬编码路径正常工作,但这不是运行您的应用程序的jvm正在使用且无法找到的.class。