Объект JavaRDD типа SimpleFeature создан. Затем я вызываю метод count одного и того же объекта три раза подряд и получаю разные результаты. Я не понимаю, почему, так как объект не изменяется (я не применяю никаких преобразований к нему). Следующий код является частью задействованного кода:
public static final boolean S = true;
public static final boolean D = false;
public static final boolean C = true;
//...class envelope
//...static method
//...some code
JavaRDD<SimpleFeature> myRdd = //...inizialize RDD
if(C) {
logger.info(myRdd.count()); // this line prints 79
}
if(!D || S) {
logger.info(myRdd.count()); // this line prints 60
method(myRdd, ...); // this method does not change RDD, it just stores each record in a DB
logger.info(myRdd.count()); // this line prints 63
}
//...some code
//...end of class envelope
Как вы можете видеть в комментариях к приведенному выше коду, logger.info каждый раз печатает разное число (сначала 79, затем 60 и в конце концов, 63), хотя я не изменяю объект myRdd (я не делаю ни одну карту между двумя блоками if). Не могли бы вы объяснить мне, почему это происходит?