【发布时间】:2021-04-16 17:56:10
【问题描述】:
对于上下文,我正在尝试将我的 Spark 会话配置为使用公平调度。出于这个原因,我在resources 文件夹的“根”中有一个文件 fairscheduler.xml。此文件已正确打包到我预期位置的构建文件夹中。
为了进一步证明这是有效的,我有这行:
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 会话构建器无法识别在其他方面看起来有效的资源文件?它是否期望“火花配置”文件存在于特定的地方?还是我在这里完全错过了一些愚蠢的小东西?
【问题讨论】:
-
你检查过这个问题吗? stackoverflow.com/questions/941754/…
-
谢谢!我不知道资源文件不一定在文件系统中。编写一个临时文件似乎可行:) 添加该评论作为答案,我可以投票。
标签: java scala apache-spark