2015-07-12 111 views
1

我申請通過星火卡桑德拉連接器執行以下操作:星火卡桑德拉迭代查詢

val links = sc.textFile("linksIDs.txt") 
links.map(link_id => 
{ 
val link_speed_records = sc.cassandraTable[Double]("freeway","records").select("speed").where("link_id=?",link_id) 
average = link_speed_records.mean().toDouble 
}) 

我想問一下,如果有申請查詢的上述順序更有效地讓路,我總是唯一的參數更改是'link_id'。

'link_id'值是我Cassandra'records'表的唯一分區鍵。 我正在使用Cassandra v.2.0.13,Spark v.1.2.1和Spark-Cassandra Connector v.1.2.1

我在考慮是否可以打開Cassandra會話來應用這些查詢和仍然將'link_speed_records'作爲SparkRDD。

+0

我很好奇你是如何能夠運行您發佈沒有得到一個NPE的代碼由於不被提供給工人從RDD內SC。 – Metropolis

+0

所有請求(查詢)都是使用spark上下文通過spark驅動程序發送的。工作人員全權負責計算CassandraRDD的結果。因此,工人不需要使用sc。 – raschild

回答