2017-03-21 6 views
0

私はEclipse IDEを使用しています。プロジェクトに「jar」を追加し、spark-cassandraコネクタを使用します。スタンドアロンクラスタを使用します。 私のコード例のコードは次のとおりです。スパーク・スタンドアロン・クラスタvs Eclipseクラス・クラス定義なし

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のすべてのアクションがエラーになります。それは完全に動作するローカルマスターのためにローカル。

どのように私はそれを働かせることができます、私のラップトップはインターネットに接続できないので、私はすべてのjarファイルをダウンロードしてローカルにエクスポートされます。そして、各スパークスレーブで私はspark-cassandra-connector.jarをputedしました

+0

クラスパスにscalaフォルダを追加しましたか?そうでない場合: プロジェクト - >プロパティ - > javaビルドパス - >フォルダの追加 - >スカラーフォルダのチェック - >保存/適用 - を右クリックします。 –

答えて

0

私はそれを解決しました。私のプロジェクトをローカルフォルダ内のEclipseのjarファイルとしてエクスポートし、自分のコードにsc.addJars("localPathToJar")を追加して動作させます。

関連する問題