データ分析のためにspark-Cassandra-connectorでApache Sparkを使用しています。そのために、300万を超えるレコードを含むCassandraからテーブルのJavaRDDを作成しました。
JavaRDD<MyTestBean> testRDD = testFunction
.cassandraTable("keyspace", "table")
.map(new Function<CassandraRow, MyTestBean>() {
@Override
public MyTestBean call(
final CassandraRow line) {
final MyTestBean beanObj = new MyTestBean();
beanObj.setId(line.getString("id")));
return beanObj ;
}).filter(new Function<MyTestBean , Boolean>() {
public Boolean call(MyTestBean s) {
long id = s.getId();
if (id > 600000) {
final_check = true;
}
return final_check;
}
});
フィルタリング後に行は返されません。だから私が申し込むと、
testRDD.count();
カウントが 0 になるまでに約 2 分かかりました。