Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon s3 Kafka Connect S3接收器-如何利用S3-sink.properties中的无分区_Amazon S3_Apache Kafka_Apache Kafka Connect_Confluent Platform - Fatal编程技术网

Amazon s3 Kafka Connect S3接收器-如何利用S3-sink.properties中的无分区

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

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

我最初的想法是使用并指定一个键/值,该键/值在所有主题消息中都是一致的。这将导致所有消息在同一分区中结束。但是,由于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

我确实理解分区的好处,但在这个用例中,分区会给下游带来不必要的复杂性。你能编写自己的分区器吗?@cricket_007我从来没有用Java开发过,所以我会冒险对自定义分区器说不。你确定FieldPartitioner只适用于Avro吗?我在文件中没有看到任何关于这方面的参考。。