spark独立集群与Eclipse classnonfoundexeption

时间:2017-03-21 08:15:25

标签: eclipse apache-spark spark-cassandra-connector

我使用Eclipse IDE,在我的项目中添加了来自spark的所有罐子"添加外部罐子",使用spark-cassandra连接器。使用独立群集。 我的代码示例代码是:

import com.datastax.spark.driver._
import com.datastax.spark.connector._
import org.apache.spark.{SparkConf, SparkContext}
object connect extends App {
val conf = new SparkConf(true).setMaster("spark://192.168.0.1:7077").setAppName("test").set("spark.cassandra.connection.host","192.168.0.2")
val sc = new SparkContext(conf)
val rdd = sc.cassandraTable("ks", "tbl")

如果我尝试使用println(rdd.count)一切正常,但如果我使用val filterRdd = rdd.filter(x => x.getString(1).contains("teststr")) println (filterRdd.count),我会得到ClassNonFoundException。

它不仅适用于cassandra,每次使用rdd都会导致错误。在当地为本地大师,它完美地运作。

我怎么能让它工作,我的笔记本电脑无法连接到互联网,所以我不能使用maven,所以我下载所有的罐子并在本地导出。在每个火花奴隶上我都用了spark-cassandra-connector.jar

1 个答案:

答案 0 :(得分:0)

我解决了。只需将我的项目作为jar导出到Eclipse的本地文件夹中,然后在我的代码中添加sc.addJars("localPathToJar"),它就能正常工作