我想在IntelliJ
中运行此示例 import org.apache.spark.SparkContext
import org.apache.spark.SparkConf
object LAspark {
def main(args: Array[String]) {
val logFile = "/Users/H/Desktop/sparktest.txt"
val conf = new SparkConf().setAppName("Simple
Application").setMaster("local[*]")
val sc = new SparkContext(conf)
val logData = sc.textFile(logFile, 2).cache()
val numAs = logData.filter(line => line.contains("a")).count()
val numBs = logData.filter(line => line.contains("b")).count()
println("Lines with a: %s, Lines with b: %s".format(numAs, numBs))
}
}
这是我得到的错误:
Exception in thread "main" java.lang.ClassNotFoundException: LAspark
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:123)
我的build.sbt是这样的:
name := "fridaytest"
version := "1.0"
scalaVersion := "2.11.8"
在全球图书馆中,我使用了scala-sdk-2.11.8。我花了几个小时在这上面,仍然无法弄清问题是什么。有人可以帮忙吗?非常感谢。
答案 0 :(得分:0)
这已经解决了。在看到Ramesh Maharjan的评论之后,我查看了项目目录并意识到我的代码在scala2.12文件夹下,因为那是我在切换到2.11之前使用的sdk。当您更改在“项目结构”中使用的JDK版本时,IDE将生成不同的文件夹。我将代码移动到文件夹2.11,它工作正常。事实证明文件夹很重要..