Почему я получаю противоречивые результаты из collectAsList в отношении отфильтрованного набора данных? - PullRequest
0 голосов
/ 16 апреля 2020

Я использую Spark (версия 2.4.0) и Java (версия 1.8). Я отфильтровал набор данных (myDataset) следующим образом:

    Dataset<MyType> filteredDataset = myDataset.filter(new FilterFunction<MyType>() {

        private static final long serialVersionUID = -2977443164754946546L;

        @Override
        public boolean call(MyType v1) throws Exception {
            if( // my condition is true // ) {
               logger.info(" ok! ")
                return true;
            }
            return false;
        }

    });

Затем я применил collectAsList к отфильтрованному набору данных:

        List<MyType> rcs = filteredDataset.collectAsList();
        for(int i = 0; i < rcs.size(); i++) {
            logger.info("my record" + rcs.get(i));
        }

Поскольку журнал распечатывается хотя бы один раз «Хорошо!», я ожидал бы, что он напечатает хотя бы один раз «мою запись ...», но никогда не напечатает «мою запись ...». Не могли бы вы объяснить, почему это происходит?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...