通过分区名称合并spark分区

时间:2019-04-26 08:07:55

标签: apache-spark apache-kafka streaming partition

我们从Kafka服务器获取数据,其中每个主题都有10个分区。我们使用Spark Streaming处理它,因此每个主题都有10个Spark分区。我们在同一应用程序中使用了并行的6个主题,即60个Spark分区(topicA-1,topicA-2,topicA-3,topicA-4 ... topicF-9,topicF-10)。

在处理结束时,我们将数据发送到foreachPartition中的S3,但是在这种情况下,我们得到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

在这种情况下,数据分布在相同大小的分区中。

这有可能吗?

0 个答案:

没有答案