Amazon s3 Kafka Connect S3接收器-如何利用S3-sink.properties中的无分区
出于合理的原因,我希望将所有Kafka消息转储到AWS S3存储桶中,而不进行分区。我需要使用JSON 我最初的想法是使用并指定一个键/值,该键/值在所有主题消息中都是一致的。这将导致所有消息在同一分区中结束。但是,由于FieldPartitioner仅适用于Avro而不适用于JSON,因此这是不可能的 我当前的s3-sink.properties复制了Kafka的分区结构:Amazon s3 Kafka Connect S3接收器-如何利用S3-sink.properties中的无分区,amazon-s3,apache-kafka,apache-kafka-connect,confluent-platform,Amazon S3,Apache Kafka,Apache Kafka Connect,Confluent Platform,出于合理的原因,我希望将所有Kafka消息转储到AWS S3存储桶中,而不进行分区。我需要使用JSON 我最初的想法是使用并指定一个键/值,该键/值在所有主题消息中都是一致的。这将导致所有消息在同一分区中结束。但是,由于FieldPartitioner仅适用于Avro而不适用于JSON,因此这是不可能的 我当前的s3-sink.properties复制了Kafka的分区结构: name=s3-sink connector.class=io.confluent.connect.s3.S3SinkC
name=s3-sink
connector.class=io.confluent.connect.s3.S3SinkConnector
tasks.max=50
topics=topic_a,topic_b,topic_c
s3.region=us-east-2
s3.bucket.name=datapipeline
s3.part.size=5242880
flush.size=1
storage.class=io.confluent.connect.s3.storage.S3Storage
format.class=io.confluent.connect.s3.format.json.JsonFormat
schema.generator.class=io.confluent.connect.storage.hive.schema.DefaultSchemaGenerator
partitioner.class=io.confluent.connect.storage.partitioner.DefaultPartitioner
schema.compatibility=NONE
我确实理解分区的好处,但在这个用例中,分区会给下游带来不必要的复杂性。你能编写自己的分区器吗?@cricket_007我从来没有用Java开发过,所以我会冒险对自定义分区器说不。你确定FieldPartitioner只适用于Avro吗?我在文件中没有看到任何关于这方面的参考。。