#scala #grouping #apache-flink
#scala #группировка #apache-flink
Вопрос:
Я хочу выводить в csv каждый groupedDataSet.
Пример данных:
A,123
B,200
A,400
B,400
Итак, мой желаемый результат:
файл 1:
A,123
A,400
файл 2:
B,200
B,400
Итак, в основном простой код для exampleData
:
exampleData.groupBy(0).sortGroup(1, Order.ASCENDING)
Теперь я хочу вывести каждый groupedDataSet в другой CSV. Какова наилучшая практика для достижения этого?
Я использую Scala версии 2.11.12 и Flink версии 1.11.0
Ответ №1:
Что вам нужно, так это сборный приемник, но в настоящее время он поддерживается только для потоковых заданий, а не для пакетных. Flink 1.12 унифицировал пакетную и потоковую передачу, поэтому теоретически это может сработать для вас. Я реализовал свой собственный сборщик пакетов для пакетных заданий, но, похоже, у него есть некоторые проблемы с последними версиями Hadoop, которые мне нужно отладить.