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"}]
答案 0 :(得分:1)
S3接收器连接器将每个消息作为自己的消息发送到S3。
您想要做一些不同的事情,即将消息一起批处理成离散的数组对象。
为此,您需要某种流处理。例如,您可以编写一个Kafka Streams处理器,该处理器将处理该主题并将每批 x 消息合并为一条消息,其中包含所需的数组。
答案 1 :(得分:0)
除了手动读取之外,不清楚要如何读取这些文件,但是大多数读取S3存储桶的分析工具(Hive,Athena,Spark,Presto等)都期望 JSONLines