2017-02-21 10 views
0

Я только начал изучать Кафку. Я сделал много googlings, но до сих пор не знаю: как я могу автоматически собирать файлы, упавшие в папке, как входные данные производителя и, следовательно, получать потребитель? Спасибо. В начальной точке, я попытался следующий код и он не работает (просто выход без ошибок):Как автоматически выбрать файл как вход производителя кафки?

./kafka-console-producer.sh --broker-list sandbox.hortonworks.com:6667 --topic kafka-topic1 < test.csv 

enter image description here

Ниже обновление:

Я попытался более точно Точно так же я создаю производителя и потребителя, я видел, как только потребитель получил контент csv по строкам, НО, но не полный. Я попробовал сразу же, я больше ничего не вижу. Затем я сделал консольный продюсер, а потребитель получил сообщения, сразу после этого я сделал ввод файла, потребитель получил, но в плохую последовательность, пожалуйста, обратитесь к скриншотам.

test.csv:

enter image description here

производитель:

enter image description here

Потребитель:

enter image description here

Прекратить консоли производителя и й искусство файл производитель

enter image description here

Ничего не происходит в потребителе:

enter image description here

Прекратить потребитель и перезапустить его после того, как производитель рестарта (файл): Потребителя получил файл:

enter image description here

Обратите внимание: последовательность не в первоначальном порядке

продюсер запустить снова, потребитель получает его снова:

enter image description here

Последовательность кажется «неправильно» еще раз?

В любом случае, очень неустойчивый здесь, любой ключ?

BTW: Я тестировал моя скорость подключения к Интернету и как скачать и загрузить около

ответ

0

Кафка Console Производитель 10Мб/с не предназначен для этого случая использования. Посмотрите в Кафке Connect - это позволяет установить непрерывный импорт для файлов:

http://docs.confluent.io/current/connect/connect-filestream/filestream_connector.html

+0

Спасибо вам Матфии, это часть сливающегося решения, правильно? можете ли вы поделиться любым полным примером работы без использования конфлюентных или других сторонних инструментов?или это самая распространенная практика использования сторонних инструментов, таких как конфлюэнт? Благодарю. – PasLeChoix

+0

Kafka Connect является частью Apache Kafka - таким образом, Connect не предоставляется компанией Confluent. Однако Kafka Connect - это основа, которая нуждается в реальных разъемах - и Apache Kafka не отправляет никаких разъемов. Существует много разъемов с открытым исходным кодом, которые вы можете использовать, включая те, которые предоставлены компанией Confluent (Confluent также предлагает собственный собственный коннектор с Confluent Enterprise). Таким образом, если вы не хотите писать свой собственный коннектор, вам понадобится использовать «сторонний» разъем. –

+0

Я рекомендую использовать Конфлюентный разъем (но я могу быть предвзятым, поскольку я работаю в Confluent), потому что они имеют очень высокое качество. Кроме того, эти разъемы полностью совместимы с Apache Kafka, поэтому вам не нужно беспокоиться о «блокировке вендора» или подобном, и вам не нужно использовать Confluent Open Source, если вы хотите их использовать. См. Этот список сертифицированных соединителей (от Confluent и других сторонних поставщиков и сообщества OS): https://www.confluent.io/product/connectors/ –