从Spark Superjar访问资源路径

问题描述

我通过运行spark-submit --jars /path_to_my_uber_jar.jar

运行spark作业

在我的uber jar中,我在顶层有一个目录config,其中包含一些应用程序配置文件

在我的spark应用程序主目录中,我想访问配置目录的根。

我尝试过

  1. MyApplication.class.getResource("/).getPath无效
  2. MyApplication.class.getProtectionDomain.getCodeSource.geLocation.getPath无效。
  3. SparkFiles.getRootDirectory,这也不起作用。

一种方法,我认为可以从jar中解开config添加spark-submit --files config,然后我可以使用SparkFiles.getRootDirectory,但是我想以某种方式对superjar本身进行操作。这样,我的工作流程就很简单,我只需构建一个超级jar并上传到s3并在master上下载并运行spark-submit。如果我解开捆绑,那么我将有一个jar和一个目录上载到s3并下载。

有没有办法用一个超级罐子做到这一点。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)