我在Windows上安装了本地spark 1.5.2(hadoop 2.4),如here所述。
我尝试使用maven导入我在Java中创建的jar文件(jar是 jmatrw ,我在github上的here上传)。请注意,jar不包含spark程序,并且它没有依赖于spark。我尝试了以下步骤,但似乎没有人在我的安装中工作:
> spark-shell --jars "E:/installprogram/spark-1.5.2-bin-hadoop2.4/lib/jmatrw-v0.1-beta.jar"
,但它显示"警告:跳过远程jar" scala> sc.addJar("E:/installprogram/spark-1.5.2-bin-hadoop2.4/lib/jmatrw-v0.1-beta.jar")
的火花壳中,它说" INFO:添加jar ...带时间戳" 当我输入scala> import it.prz.jmatrw.JMATData
时,spark-shell会回复error: not found: value it
。
我花了很多时间在Stackoverflow和Google上搜索,确实类似的Stakoverflow问题是here,但我还是无法导入我的自定义jar。
由于
答案 0 :(得分:2)
1.5.2中有两个设置来引用外部jar。您可以为驱动程序或执行程序添加它。
我通过向spark-defaults.conf
添加设置来执行此操作,但您可以在spark-shell或SparkConf
中设置这些设置。
spark.driver.extraClassPath /path/to/jar/*
spark.executor.extraClassPath /path/to/jar/*
我没有看到你做这件事的方式有什么问题,但你可以尝试上面的conf方法,或者使用SparkConf
val conf = new SparkConf()
conf.set("spark.driver.extraClassPath", "/path/to/jar/*")
val sc = new SparkContext(conf)
总的来说,我并不喜欢在Windows上使用Spark。尝试进入Unix / Linux。