我正在远程运行spark,但在向spark conf添加依赖时面临困难。
val conf = new SparkConf()
.setMaster("spark://IP:7077")
.set("packages", "com.databricks:spark-avro_2.10:2.0.1:jar")
.setAppName("localtrial")
错误:
16/02/23 12:27:10 WARN TaskSetManager:阶段0.0中失去的任务0.0(TID 0,172.16.248.156):java.lang.ClassNotFoundException:com.databricks.spark.avro.AvroRelation $$ anonfun $ buildScan $ 1 $$ anonfun $ 3 at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ```
我也尝试过conf类的setJars属性。任何帮助将不胜感激。
答案 0 :(得分:0)
您需要将依赖项添加到build.sbt
文件中,以便IntelliJ可以针对它进行编译。如果要将其作为参数添加到spark-submit
,则可以将依赖项设置为prodived
,否则需要使用sbt-assembly或类似的插件将其打包到jar文件中。
将以下行添加到build.sbt
文件中,如果启用了自动导入,Intellij将下载依赖项。如果未启用自动导入,请关闭项目并再次导入或使用SBT工具窗口内的刷新按钮。
libraryDependencies += "com.databricks" %% "spark-avro" % "2.0.1" % "provided"