Как написать очень большой json в kafka с помощью python

#python #apache-kafka #kafka-producer-api

#питон #апач-кафка #kafka-producer-api

Вопрос:

У меня есть JSON размером 4,6 ГБ со следующей структурой:

 [  {...},  {...},  ... ]  

Я хочу, чтобы код python прочитал этот JSON и записал их в тему Кафки с 16 разделами как можно больше.

Одна из проблем заключается в чтении этого большого JSON без исчерпания памяти. (использование расщепления и генераторов приходит на ум в качестве жизнеспособных решений). И вторая задача-максимизировать эффективность производителей.

Я пробовал несколько решений, но не могу добиться скорости записи более 15 Мбит/с. [Я использую python-kafka библиотеку, которая не является самой производительной библиотекой python для кафки]

Комментарии:

1. Максимальный размер сообщения по умолчанию для Kafka составляет 1 МБ. Как тебе это передают?

2. Несколько дней назад у меня был стендовый тест на массовое движение. Кластер kafka имеет 5 брокеров на экземпляре c5.4xlarge AWS ec2 и производителя/потребителя на экземпляре c5.xlarge. Мой результат-максимальная пропускная способность от 1 производителя/потребителя составляет около 12 Мбит/с при считывании и 30 Мбит/с. Когда я использую c5.2xlarge для производителя/потребителя, пропускная способность составляет около 15 МБ/с записи. Поэтому, если кластер кафки имеет достаточную пропускную способность, я думаю, что это гораздо больше зависит от вычислительной мощности производителей, пропускной способности сети и конфигураций производителей. Я использовал ksql-datagen для тестирования производителя.