Spark jar包依赖文件

时间:2015-12-30 06:15:55

标签: apache-spark

我想在火星上做一些ip到位置计算,在探索网后,找到IPLocator https://github.com/miraclesu/IPLocator

IP到位需要使用包含映射信息的文件。

打包jar之后,我可以使用本地java运行它,该程序包只与同一目录中的IPLocator.jarqqwry.dat一起运行。

但是我想使用spark使用这个jar,我在启动spark-shell时尝试使用--jars IPLocator.jar qqwry.dat,但是在启动时,函数仍然无法读取文件。

文件读取代码就像

QQWryFile.class.getClassLoader().getResource("qqwry.dat")

我还尝试将qqwry.dat文件打包到jar中,但它没有用。

2 个答案:

答案 0 :(得分:1)

您需要在程序中使用--files然后SparkFiles.get

答案 1 :(得分:0)

尝试使用逗号分隔符并检查IPLocator.jar和qqwry.dat是否已分发到spark staging文件夹(.sparkStaging/application_xxx)。

--jars IPLocator.jar,qqwry.dat