Как извлекаются данные: max.poll.records и смещения

Согласно моему текущему пониманию Kafka, данные хранятся, и каждое «местоположение магазина» идентифицируется «смещением» (числовым значением).

Я наткнулся на этот параметр --> max.poll.records

Предположим, что значение max.poll.records равно 5, что это значит? Означает ли это, что он будет считывать всего FIVE «местоположения магазинов» за один раз (например, попытается ли он получить данные со смещений 101, 102, 103, 104, 105).

Может ли кто-нибудь помочь мне понять это?

Построение конвейеров данных в реальном времени с Apache Kafka: Руководство по Python
Построение конвейеров данных в реальном времени с Apache Kafka: Руководство по Python
Apache Kafka - популярная платформа распределенной потоковой передачи данных, которую можно использовать для построения конвейеров данных в реальном...
0
0
388
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Во-первых, вы правы, каждой записи присваивается смещение в разделе.

Настройки max.poll.records (документы) позволяют определить максимальное количество записей, которые потребитель будет возвращать каждый раз, когда ваше приложение вызывает poll(). Это максимум, он может вернуть столько или меньше.

Обратите внимание, что это напрямую не контролирует, сколько данных извлекается из кластера, поскольку эти настройки применяются на стороне клиента. Это просто для контроля количества записей, возвращаемых poll().

В фоновом режиме потребитель мог получить больше данных, чтобы быть готовым к возврату в следующий раз, когда приложение вызовет poll(). Сколько данных извлекается потребителем, определяется fetch.min.bytes, max.partition.fetch.bytes и fetch.max.bytes.

Эти настройки позволяют вам контролировать темп вашего приложения, так как вам нужно обрабатывать только max.poll.records сразу, даже если доступно большое количество записей.

Спасибо за время и ответ. Я проверю ссылки, которые вы предоставили. У меня возникло сомнение: означает ли «одна запись» «одно сообщение» или в ней может быть несколько «сообщений»?

CuriousMind 30.05.2019 05:50

1 запись = 1 сообщение. Пакеты, которые могут содержать несколько записей

Mickael Maison 30.05.2019 09:28

Спасибо еще раз. Кстати, есть ли способ проверить размер отдельных записей?

CuriousMind 30.05.2019 09:52

как потребительское приложение, нет. Он должен получить запись, чтобы получить ее размер

Mickael Maison 30.05.2019 09:59

У меня есть еще один вопрос, который у меня есть для потоков кафки. Как я могу уведомить вас?

CuriousMind 30.05.2019 15:04

Пожалуйста, задайте другой вопрос StackOverflow

Mickael Maison 30.05.2019 16:02

Вот он --> stackoverflow.com/questions/56379412/…

CuriousMind 30.05.2019 16:16

Другие вопросы по теме