Как присоединиться к Kafka KStream с обычным файловым кешем в облаке Azure?

Я разрабатываю задание Kafka Stream по обогащению журналов. План состоит в том, чтобы использовать кеш файлов в Azure Blob для обогащения записи журнала из Kafka KStream. Насколько я понимаю, мне нужно загрузить файл кеша из Azure Blob в KTable. Тогда я могу присоединиться к KStream с помощью KTable.

Как новичок, я столкнулся с двумя трудностями, может ли кто-нибудь мне подсказать?

  1. Похоже, у Kafka Connect нет библиотеки для подключения к Azure Blob. Нужно ли мне писать еще одно отдельное задание, чтобы всегда читать из Azure и писать обратно в KTable? Есть какой-нибудь быстрый способ?

  2. Кэш обновлялся четыре-пять раз каждый день, и задание должно было обнаружить изменение файла кеша и отразить его в KTable. Означает ли это, что для обнаружения удаления некоторых записей из файла кеша я должен своевременно сравнивать каждую запись между KTable и файлом? Есть более эффективный способ?

Спасибо


person Martin Peng    schedule 13.09.2018    source источник


Ответы (1)


Есть несколько способов подойти к этому. Первое, что вам нужно понять, это то, что вам нужно сначала поместить данные в тему Kafka, если вы хотите прочитать их в KTable.

Если коннектора нет, вы можете написать свой собственный коннектор (https://docs.confluent.io/current/connect/devguide.html). В качестве альтернативы можно написать небольшое приложение, которое считывает данные из Azure и использует KafkaProducer для записи в тему.

Для обновления KTable вам не нужно беспокоиться об этом с точки зрения Kafka Streams. Если в тему записываются новые данные, KTable будет обновляться автоматически. Если вы напишете собственный коннектор, это также обеспечит автоматическое распространение обновления файла в тему. Если вы пишете собственное приложение, вам нужно будет убедиться, что это приложение вносит изменения в тему.

person Matthias J. Sax    schedule 14.09.2018