在intelliJ上添加对远程spark的依赖

时间:2016-02-23 07:33:09

标签: apache-spark apache-spark-sql

我正在远程运行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属性。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

您需要将依赖项添加到build.sbt文件中,以便IntelliJ可以针对它进行编译。如果要将其作为参数添加到spark-submit,则可以将依赖项设置为prodived,否则需要使用sbt-assembly或类似的插件将其打包到jar文件中。

将以下行添加到build.sbt文件中,如果启用了自动导入,Intellij将下载依赖项。如果未启用自动导入,请关闭项目并再次导入或使用SBT工具窗口内的刷新按钮。

libraryDependencies += "com.databricks" %% "spark-avro" % "2.0.1" % "provided"