我们从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个新记录,因此我们希望以这种方式合并它们:
在这种情况下,数据分布在相同大小的分区中。
这有可能吗?