在 spark-shell 中加载资源

loading resources in spark-shell

通常情况下,在 Scala REPL 中加载资源是这样完成的:

getClass().getClassLoader().getResource("/resource-file")

see here

但这并没有从我使用常规启动加载的 jar 中找到资源

spark-shell --jars list-of-jars

资源如何加载到spark-shell中? (我引用了错误的 ClassLoader 吗?)

请删除前缀“/”。我在 Spark shell 中进行了测试,getClass().getClassLoader().getResource("resource-file")Thread.currentThread().getContextClassLoader().getResource("resource-file") 都有效。但是,我建议使用 Thread.currentThread().getContextClassLoader() 因为它不依赖于 getClass() returns.