1

我正在使用带有 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 分钟。这种行为是预期的,还是我这边有任何可能的问题?

4

0 回答 0