
У меня есть набор данных в искре, как На рисунке я хочу агрегировать единицы и доллары этого набора данных, но пропускаю строку, в которой месяц имеет значение null во время агрегирования. Как я могу сделать это в искровой Java.
Мой результат должен быть таким, как показано ниже (неправильные единицы измерения для пустого месяца)

Мой текущий код для агрегации:
input.rollup(JavaConversions.asScalaBuffer(allSelectedCols).seq())
.agg(ratingCols.get(0),
JavaConverters.asScalaIteratorConverter(ratingCols.subList(1, ratingCols.size()).iterator())
.asScala().toSeq())
.sort(JavaConversions.asScalaBuffer(orderedCols).seq());
allSelectedCols=это заголовки скриншота
ratingCols=
ratingCols.add(expr("sum(Units)").as("Units"));
ratingCols.add(
expr("CAST(ROUND(SUM(CAST(Dollars AS DOUBLE)),3) as decimal(36,3))").as("Dollars"));
Подробнее здесь: https://stackoverflow.com/questions/785 ... -condition
Мобильная версия