Коннектор раковины kafka s3 - много jsons в одном json - PullRequest
0 голосов
/ 29 мая 2020

У меня проблема с коннектором стока s3. Я установил для своего flu sh -size значение 3 (для тестов), и мой s3 правильно получает файл json. Но когда я открываю json, у меня нет списка json-файлов, только один за другим. Есть ли способ «правильно» получить json-файлы в списке, когда они отправляются в мою корзину? Я хочу попробовать "хороший способ" решить эту проблему, иначе я исправлю это с помощью лямбда-функции (но я бы не хотел этого делать ...)

Что у меня есть:

{"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 ]

1 голос
/ 29 мая 2020

Коннектор приемника S3 отправляет каждое сообщение на S3 как собственное сообщение.

Вы хотите сделать что-то другое, а именно объединить сообщения в отдельные объекты массива.

Для этого вам понадобится какая-то потоковая обработка. Например, вы можете написать процессор Kafka Streams, который будет обрабатывать topi c и объединять каждую партию сообщений x в одно сообщение, содержащее массив, как вы хотите.

0 голосов
/ 31 мая 2020

Неясно, как вы собираетесь читать эти файлы, кроме как вручную, но большинство аналитических инструментов, которые читают сегменты S3 (Hive, Athena, Spark, Presto, et c), все ожидают JSONLines

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...