我正在使用带有 spark-Cassandra-connector 的 Apache Spark 进行数据分析。为此,我从 Cassandra 创建了一个包含超过 300 万条记录的表的 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 分钟。这种行为是预期的,还是我这边有任何可能的问题?