Я занимаюсь разработкой приложения Java + Apache Spark. Одна из его функций - обрезать струны. Например:
// Having JavaSparkContext jsc previously defined and a function like
// the following already defined:
private String trim(String s, int charsToTrim);
// that returns a new String with length = s.length() - charsToTrim or
// null if its new length is <= 0
JavaRDD<String> original = jsc.parallelize(Arrays.asList("aaa", "bbbb", "ccccc");
int num = 4;
JavaRDD<String> mapped = original.map(s -> trim(s, num));
Новый сопоставленный JavaRDD будет содержать (null, null, "c"), и мне придется очистить нулевые значения с помощью фильтра.
Вопрос, который у меня возникает: есть ли способ удалить эти значения при выполнении карты или не возвращать никакие значения при отображении всех, если результат равен нулю?
Спасибо.