在不同的路径下将几个Kafka主题添加到s3

时间:2017-12-22 22:51:28

标签: amazon-s3 apache-flink avro

随着Flink 1.4的发布,FlinkKafkaConsumer011具有传递正则表达式以便读取主题的功能 - 一个rad功能btw。现在我想知道是否有一种方法可以让单个Flink应用程序使用BucketingSink来分离每个主题(Avro消息)以分离s3中的位置。例如:

s3://bucket/topic_1
s3://bucket/topic_2
s3://bucket/topic_3
.
.
.
s3://bucket/topic_n

非常感谢任何有关如何实现这一目标的指示!

1 个答案:

答案 0 :(得分:0)

如果您的根存储桶不同,并且您“只是”想要为每个主题设置不同的路径,您可以:

  1. 从元数据中获取主题并在从Kafka反序列化邮件时将其存储在您的元素上
  2. 通过完整处理将元素传递给您的元素
  3. 提供了一个BasePathBucketer的子类,它重新定义了getBucketPath方法,通过查询传递元素中的主题来返回带主题的路径。