Как Kinesis поддерживает Avro? - PullRequest
0 голосов
/ 10 мая 2018

Amazon Kinesis утверждает, что поддерживает файлы Avro.

Файлы Avro (смотрите Avro 1.8 здесь) содержат как схему, так и данные для конкретного файла.

Тем временем Kinesis принимает много записей и склеивает их в один большой файл.

Если каждая записанная нами запись представляет собой файл Avro, и Kinesis склеивает их вместе в большие файлы, тогда у нас будут файлы с миллионом маленьких схем. Не похоже, что это будет полезно / действительно / работает.

Чего мне не хватает?

1 Ответ

0 голосов
/ 12 мая 2018

Как отметил дубад в комментариях, стандартные библиотеки Avro будут считывать несколько объединенных файлов Avro и предположительно объединять схемы. Это отлично подходит для пользователей, которые используют стандартные библиотеки Avro.

К сожалению, потребитель, которому я пишу через Kinesis, использует не стандартную библиотеку Avro, а частную реализацию спецификации, которая, похоже, не имеет такого поведения.

Отдельно написание большого количества маленьких файлов Avro, каждый со своей собственной схемой, для «склеивания записей» в Kinesis, безусловно, не очень хорошее использование пространства хранения, поэтому я думаю, что модель Kinesis в сочетании с Avro не является правильный выбор здесь.

...