首页 > 解决方案 > Kafka Connect S3 sink - 如何在 s3-sink.properties 中使用无分区

问题描述

出于正当原因,我希望将所有 Kafka 消息转储到 AWS S3 存储桶中而不进行分区。我需要使用 JSON。

我最初的想法是使用FieldPartitioner并指定一个在所有主题消息中都一致的键/值。这将导致所有消息都以同一分区结尾。但是,由于 FieldPartitioner 仅适用于 Avro 而不是 JSON,因此这是不可能的。

我当前的 s3-sink.properties 复制了 Kafka 的分区结构:

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

标签: amazon-s3apache-kafkaapache-kafka-connectconfluent-platform

解决方案


推荐阅读