Kafka S3接收器连接器-一个JSON中包含多个JSON

时间:2020-05-29 14:17:41

标签: json amazon-s3 apache-kafka apache-kafka-connect

s3接收器连接器出现问题。我将flush-size设置为3(用于测试),并且s3正确接收了json文件。但是当我打开json时,我没有json列表,只有一个接一个。将它们发送到我的存储桶时,有什么方法可以“正确”获取列表中的json?我想尝试一种“好方法”来解决这个问题,否则我将在lambda函数中解决此问题(但我不想这样做...)

我所拥有的:

{"before":null,"after":{"id":10230,"nome":"John","idade":30,"cidade":"São Paulo","estado":"SP","sexo":"M"}
{"before":null,"after":{"id":10231,"nome":"Alan","idade":30,"cidade":"São Paulo","estado":"SP","sexo":"M"}
{"before":null,"after":{"id":10232,"nome":"Rodrigo","idade":30,"cidade":"São Paulo","estado":"SP","sexo":"M"}

我想要的

[{"before":null,"after":{"id":10230,"nome":"John","idade":30,"cidade":"São Paulo","estado":"SP","sexo":"M"},
{"before":null,"after":{"id":10231,"nome":"Alan","idade":30,"cidade":"São Paulo","estado":"SP","sexo":"M"},
{"before":null,"after":{"id":10232,"nome":"Rodrigo","idade":30,"cidade":"São Paulo","estado":"SP","sexo":"M"}]

2 个答案:

答案 0 :(得分:1)

S3接收器连接器将每个消息作为自己的消息发送到S3。

您想要做一些不同的事情,即将消息一起批处理成离散的数组对象。

为此,您需要某种流处理。例如,您可以编写一个Kafka Streams处理器,该处理器将处理该主题并将每批 x 消息合并为一条消息,其中包含所需的数组。

答案 1 :(得分:0)

除了手动读取之外,不清楚要如何读取这些文件,但是大多数读取S3存储桶的分析工具(Hive,Athena,Spark,Presto等)都期望 JSONLines