Spark Cassandra Connector を介して以下を適用しています。
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 を使用しています。
これらのクエリを適用し、「link_speed_records」を SparkRDD として取得するために、Cassandra セッションを開くことが可能かどうかを考えていました。