0

Cassandra に接続する Spark ジョブ サーバーを作成しています。レコードを取得した後、単純なグループ化を実行して合計したいと思います。データを取得できましたが、出力を印刷できませんでした。私は何時間もグーグルを試し、cassandra グーグルグループにも投稿しました。私の現在のコードは以下の通りで、収集時にエラーが発生しています。

 override def runJob(sc: SparkContext, config: Config): Any = {
//sc.cassandraTable("store", "transaction").select("terminalid","transdate","storeid","amountpaid").toArray().foreach (println)
// Printing of each record is successful
val rdd = sc.cassandraTable("POSDATA", "transaction").select("terminalid","transdate","storeid","amountpaid")
val map1 = rdd.map ( x => (x.getInt(0), x.getInt(1),x.getDate(2))->x.getDouble(3) ).reduceByKey((x,y)=>x+y)
println(map1)
// output is ShuffledRDD[3] at reduceByKey at Daily.scala:34
map1.collect
//map1.ccollectAsMap().map(println(_))
//Throwing error java.lang.ClassNotFoundException: transaction.Daily$$anonfun$2

}

4

2 に答える 2

0

Spark は rdd で遅延評価を行います。ということで、何かアクションを起こしてみてください

   map1.take(10).foreach(println)
于 2016-06-10T01:43:31.333 に答える
0

map1 は RDD です。次のことを試すことができます。

map1.foreach(r => println(r))
于 2016-05-11T10:43:50.430 に答える