Apache Flink выводит в csv-файл для каждого GroupedDataSet

#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, которые мне нужно отладить.