Агрегация набора данных Spark с условиемJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Агрегация набора данных Spark с условием

Сообщение Anonymous »


Изображение

У меня есть набор данных в искре, как На рисунке я хочу агрегировать единицы и доллары этого набора данных, но пропускаю строку, в которой месяц имеет значение 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»