spark会话生成器找不到资源文件

snvhrwxg  于 2021-07-14  发布在  Spark
关注(0)|答案(1)|浏览(258)

在上下文中,我尝试将spark会话配置为使用公平调度。出于这个原因,我有一个文件fairscheduler.xml,在我的 resources 文件夹。此文件已正确打包到我的生成文件夹中的预期位置。
为了进一步证明这一点,我有这样一句话:

val mypath = getClass.getResource("/fairscheduler.xml")

它正在工作并返回我期望的路径: /<some path>/<my jar>/fairscheduler.xml 以下操作将引发filenotfound异常:

sessionBuilder
    ...
    .config("spark.scheduler.mode", "FAIR")
    .config("spark.scheduler.allocation.file", mypath.toString) <- THIS LINE
    .config("spark.scheduler.pool", "fair_pool")
    ...
    .getOrCreate

为了理智起见,我已经注销了 mypath.toString .
为什么spark会话生成器不能识别一个看起来有效的资源文件?它是否期望“spark配置”文件存在于特定的地方?还是我完全错过了一些愚蠢的小事?

4c8rllxm

4c8rllxm1#

这不是apachespark的限制,而是javajar文件中处理资源文件的预期行为。如何在javajar文件中获取资源路径的问题提供了更多的细节,以及在temp文件中持久化内容的解决方法。

相关问题