Подключение Apache Kafka® к Milvus/Zilliz Cloud для сбора векторных данных в режиме реального времени
В этом кратком руководстве мы покажем, как настроить кафку с открытым исходным кодом и облако Zilliz Cloud для получения векторных данных.
В этом руководстве объясняется, как использовать Apache Kafka® для потоковой передачи и ввода векторных данных в векторную базу данных Milvus и облако Zilliz Cloud (полностью управляемое Milvus), что позволяет создавать передовые приложения реального времени, такие как семантический поиск, рекомендательные системы и аналитика на основе искусственного интеллекта.
Apache Kafka - это распределенная платформа потоковой передачи событий, предназначенная для высокопроизводительных конвейеров с низкой задержкой. Она широко используется для сбора, хранения и обработки потоков данных в реальном времени из таких источников, как базы данных, IoT-устройства, мобильные приложения и облачные сервисы. Способность Kafka обрабатывать большие объемы данных делает ее важным источником данных для векторных баз данных, таких как Milvus или Zilliz Cloud.
Например, Kafka может собирать потоки данных в реальном времени, такие как взаимодействие с пользователем, показания датчиков, а также их вложения в модели машинного обучения, и публиковать эти потоки непосредственно в Milvus или Zilliz Cloud. Попав в векторную базу данных, эти данные можно индексировать, искать и эффективно анализировать.
Интеграция Kafka с Milvus и Zilliz Cloud позволяет создавать мощные конвейеры для работы с неструктурированными данными. Коннектор работает как для развертывания Kafka с открытым исходным кодом, так и для хостинговых сервисов, таких как Confluent и StreamNative.
В этом руководстве мы используем Zilliz Cloud в качестве демонстрационного образца:
Шаг 1: Скачайте плагин kafka-connect-milvus
Выполните следующие шаги, чтобы загрузить плагин kafka-connect-milvus.
- Загрузите последнюю версию zip-файла плагина
zilliz-kafka-connect-milvus-xxx.zip
отсюда.
Шаг 2: Загрузите Kafka
- Загрузите последнюю версию kafka отсюда.
- Распакуйте скачанный файл и перейдите в каталог kafka.
$ tar -xzf kafka_2.13-3.6.1.tgz
$ cd kafka_2.13-3.6.1
ШАГ 3: Запустите среду Kafka
ПРИМЕЧАНИЕ: В вашей локальной среде должна быть установлена Java 8+.
Выполните следующие команды, чтобы запустить все службы в правильном порядке:
Запустить службу ZooKeeper
$ bin/zookeeper-server-start.sh config/zookeeper.properties
Запустить службу брокера Kafka
Откройте еще один сеанс терминала и выполните команду:
$ bin/kafka-server-start.sh config/server.properties
После успешного запуска всех служб у вас будет запущена базовая среда Kafka, готовая к использованию.
- Ознакомьтесь с официальным руководством по быстрому запуску Kafka для получения подробной информации: https://kafka.apache.org/quickstart.
Шаг 4: Настройте Kafka и Zilliz Cloud
Убедитесь, что Kafka и Zilliz Cloud установлены и правильно настроены.
Если у вас еще нет темы в Kafka, создайте тему (например,
topic_0
) в Kafka.$ bin/kafka-topics.sh --create --topic topic_0 --bootstrap-server localhost:9092
Если у вас еще нет коллекции в Zilliz Cloud, создайте коллекцию с векторным полем (в данном примере вектор имеет значение
dimension=8
). Вы можете использовать следующий пример схемы в Zilliz Cloud:Примечание: Убедитесь, что схемы обеих сторон соответствуют друг другу. В схеме имеется ровно одно векторное поле. Имена каждого поля на обеих сторонах абсолютно одинаковы.
Шаг 5: Загрузите плагин kafka-connect-milvus в Kafka Instance
распакуйте файл
zilliz-kafka-connect-milvus-xxx.zip
, который вы скачали в шаге 1.скопируйте директории
zilliz-kafka-connect-milvus
в директориюlibs
вашей установки Kafka.измените файл
connect-standalone.properties
в каталогеconfig
вашей установки Kafka.key.converter.schemas.enable=false value.converter.schemas.enable=false plugin.path=libs/zilliz-kafka-connect-milvus-xxx
создайте и настройте файл
milvus-sink-connector.properties
в каталогеconfig
вашей установки Kafka.name=zilliz-kafka-connect-milvus connector.class=com.milvus.io.kafka.MilvusSinkConnector public.endpoint=https://<public.endpoint>:port token=***************************************** collection.name=topic_0 topics=topic_0
Шаг 6: Запуск коннектора
Запустите коннектор с предыдущим файлом конфигурации.
$ bin/connect-standalone.sh config/connect-standalone.properties config/milvus-sink-connector.properties
Попробуйте создать сообщение в тему Kafka, которую вы только что создали в Kafka.
bin/kafka-console-producer.sh --topic topic_0 --bootstrap-server localhost:9092 >{"id": 0, "title": "The Reported Mortality Rate of Coronavirus Is Not Important", "title_vector": [0.041732933, 0.013779674, -0.027564144, -0.013061441, 0.009748648, 0.00082446384, -0.00071647146, 0.048612226], "link": "https://medium.com/swlh/the-reported-mortality-rate-of-coronavirus-is-not-important-369989c8d912"}
Проверьте, была ли сущность вставлена в коллекцию в Zilliz Cloud. Вот как это выглядит на Zilliz Cloud, если вставка прошла успешно:
Поддержка
Если вам нужна помощь или у вас есть вопросы по коннектору Kafka Connect Milvus Connector, пожалуйста, обращайтесь к сопровождающему коннектора: Email: support@zilliz.com