【问题标题】:How to run Spark scala application inside Intellij如何在 Intellij 中运行 Spark scala 应用程序
【发布时间】:2016-04-19 10:16:39
【问题描述】:

我正在尝试在 Hortonworks 沙盒上使用 Intellij 运行一个简单的 Spark 应用程序。 我打开了一个新的 SBT 项目,然后创建了一个 Scala 类:

import org.apache.spark.SparkContext
import org.apache.spark.SparkContext._
import org.apache.spark.SparkConf

object SimpleApp {
  def main(args: Array[String]) {
    val logFile = "/root/temp.txt"
    val conf = new SparkConf().setAppName("Simple Application")
    val sc = new SparkContext(conf)
    val logData = sc.textFile(logFile, 2).cache()
    println(logData .count())
  }
}

这是我的 build.sbt:

name := "Simple Project"
version := "1.0"
scalaVersion := "2.10.4"
libraryDependencies += "org.apache.spark" % "spark-core" % "1.3.0" % "provided"

现在右击这个类 -> 运行抛出异常:

exception in thread main java.lang.noclassdeffounderror: org/apache/Spark/SparkConf

显然我做错了什么,但我可以在依赖项列表中看到 spark 库。有什么帮助吗? (顺便说一句,通过 SBT Scala 控制台运行这个程序完美无缺)

【问题讨论】:

    标签: scala intellij-idea apache-spark sbt


    【解决方案1】:

    运行

    object SimpleApp extends App {
      def main(args: Array[String]) {
        val logFile = "/root/temp.txt"
        val conf = new SparkConf().setAppName("Simple Application")
        val sc = new SparkContext(conf)
        val logData = sc.textFile(logFile, 2).cache()
        println(logData .count())
      }
    }
    

    【讨论】:

    • 根据docs,这是不正确的:“请注意,应用程序应定义 main() 方法而不是扩展 scala.App。scala.App 的子类可能无法正常工作”此外,添加main 和扩展 App 是多余的。
    【解决方案2】:

    在您的build.sbt 文件中,您需要两个百分号:

    libraryDependencies += "org.apache.spark" %% "spark-core" % "1.6.2" % "provided"

    指定工件spark-core的Scala版本。

    要在 IntelliJ IDEA 中运行您的课程,您还需要通过“文件 -> 项目结构”添加 Spark 库。然后,在“库”下,您可以添加必要的 Spark 库。

    请注意,对象不应按照Spark QuickStart 扩展App

    请注意,应用程序应该定义一个 main() 方法,而不是扩展 scala.App。 scala.App 的子类可能无法正常工作。

    编辑 1:您还可以在测试时暂时删除 provided 限定符。

    【讨论】:

      猜你喜欢
      • 2018-03-24
      • 1970-01-01
      • 2016-07-12
      • 2014-02-22
      • 1970-01-01
      • 1970-01-01
      • 2018-02-21
      • 1970-01-01
      • 2014-05-03
      相关资源
      最近更新 更多