Слияние искровых разделов по именам разделов - PullRequest
0 голосов
/ 26 апреля 2019

Мы получаем данные с сервера Kafka, где каждая тема имеет 10 разделов.Мы обрабатываем его с помощью Spark Streaming, поэтому мы получаем 10 разделов Spark для каждой темы.Мы используем 6 параллельных тем в одном приложении, то есть 60 разделов Spark (тема A-1, тема A-2, тема A-3, тема A-4 ... тема F-9, тема F-10).

В конце обработки мы отправляем данные на S3 в разделе foreachPartition, но в этом случае мы получаем 60 небольших файлов.

Поскольку некоторые темы содержат только 5-7 новых записей для пакета, другие темы содержат 500 новых записей, мы хотели бы объединить их следующим образом:

  • topicA-1 -> newpart1
  • topicB-1 -> newpart1
  • topicC-1 -> newpart1
  • topicA-2 -> newpart2
  • topicB-2 -> newpart2
  • topicC-2 -> newpart2
  • ...
  • topicA-10 -> newpart10
  • topicB-10 -> newpart10
  • topicC-10 -> newpart10

В этом случае данные распределяются по разделам одинакового размера.

Возможно ли это как-нибудь?

...