在 IntelliJ 上为远程火花添加依赖性



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

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

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

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

最新更新