Почему JavaRDD count () возвращает другой результат? - PullRequest
1 голос
/ 03 марта 2020

Объект 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). Не могли бы вы объяснить мне, почему это происходит?

...