Я использую 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));
}
Поскольку журнал распечатывается хотя бы один раз «Хорошо!», я ожидал бы, что он напечатает хотя бы один раз «мою запись ...», но никогда не напечатает «мою запись ...». Не могли бы вы объяснить, почему это происходит?