Connecter Apache Kafka® avec Milvus/Zilliz Cloud pour l'ingestion de données vectorielles en temps réel
Dans ce guide de démarrage rapide, nous montrons comment configurer Apache Kafka® et Zilliz Cloud pour ingérer des données vectorielles.
Ce tutoriel explique comment utiliser Apache Kafka® pour diffuser et ingérer des données vectorielles dans la base de données vectorielle Milvus et Zilliz Cloud (Milvus entièrement géré), permettant ainsi des applications avancées en temps réel telles que la recherche sémantique, les systèmes de recommandation et l'analyse alimentée par l'IA.
Apache Kafka est une plateforme de streaming d'événements distribués conçue pour les pipelines à haut débit et à faible latence. Elle est largement utilisée pour collecter, stocker et traiter des flux de données en temps réel provenant de sources telles que des bases de données, des appareils IoT, des applications mobiles et des services cloud. La capacité de Kafka à gérer de grands volumes de données en fait une source de données importante pour les bases de données vectorielles comme Milvus ou Zilliz Cloud.
Par exemple, Kafka peut capturer des flux de données en temps réel, tels que des interactions d'utilisateurs, des relevés de capteurs, ainsi que leur intégration à partir de modèles d'apprentissage automatique, et publier ces flux directement dans Milvus ou Zilliz Cloud. Une fois dans la base de données vectorielle, ces données peuvent être indexées, recherchées et analysées efficacement.
L'intégration de Kafka avec Milvus et Zilliz Cloud permet de créer de manière transparente des pipelines puissants pour les flux de données non structurées. Le connecteur fonctionne à la fois pour le déploiement de Kafka open-source et pour les services hébergés tels que Confluent et StreamNative.
Dans ce tutoriel, nous utilisons Zilliz Cloud comme démonstration :
Étape 1 : Télécharger le plugin kafka-connect-milvus
Suivez les étapes suivantes pour télécharger le plugin kafka-connect-milvus.
- Téléchargez le dernier fichier zip du plugin
zilliz-kafka-connect-milvus-xxx.zip
à partir d'ici.
Étape 2 : Télécharger Kafka
- Téléchargez la dernière version de Kafka à partir d'ici.
- Décompressez le fichier téléchargé et allez dans le répertoire kafka.
$ tar -xzf kafka_2.13-3.6.1.tgz
$ cd kafka_2.13-3.6.1
ETAPE 3 : Démarrer l'environnement Kafka
NOTE : Votre environnement local doit avoir Java 8+ installé.
Exécutez les commandes suivantes afin de démarrer tous les services dans le bon ordre :
Démarrer le service ZooKeeper
$ bin/zookeeper-server-start.sh config/zookeeper.properties
Démarrer le service Kafka broker
Ouvrez une autre session de terminal et exécutez :
$ bin/kafka-server-start.sh config/server.properties
Une fois que tous les services ont été lancés avec succès, vous disposez d'un environnement Kafka de base prêt à l'emploi.
- Pour plus de détails, consultez le guide officiel de démarrage rapide de Kafka : https://kafka.apache.org/quickstart
Étape 4 : Configurer Kafka et Zilliz Cloud
Assurez-vous que Kafka et Zilliz Cloud sont installés et correctement configurés.
Si vous n'avez pas encore de sujet dans Kafka, créez un sujet (par exemple
topic_0
) dans Kafka.$ bin/kafka-topics.sh --create --topic topic_0 --bootstrap-server localhost:9092
Si vous n'avez pas encore de collection dans Zilliz Cloud, créez une collection avec un champ vectoriel (dans cet exemple, le vecteur a
dimension=8
). Vous pouvez utiliser l'exemple de schéma suivant sur Zilliz Cloud :Note : Assurez-vous que les schémas des deux côtés correspondent. Dans le schéma, il y a exactement un champ vectoriel. Les noms de chaque champ des deux côtés sont exactement les mêmes.
Étape 5 : Charger le plugin kafka-connect-milvus dans l'instance Kafka
Décompressez le fichier
zilliz-kafka-connect-milvus-xxx.zip
que vous avez téléchargé à l'étape 1.copiez les répertoires
zilliz-kafka-connect-milvus
dans le répertoirelibs
de votre installation Kafka.modifier le fichier
connect-standalone.properties
dans le répertoireconfig
de votre installation Kafka.key.converter.schemas.enable=false value.converter.schemas.enable=false plugin.path=libs/zilliz-kafka-connect-milvus-xxx
créer et configurer un fichier
milvus-sink-connector.properties
dans le répertoireconfig
de votre installation 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
Etape 6 : Lancer le connecteur
Démarrez le connecteur avec le fichier de configuration précédent
$ bin/connect-standalone.sh config/connect-standalone.properties config/milvus-sink-connector.properties
Essayez de produire un message vers le topic Kafka que vous venez de créer dans 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"}
Vérifier si l'entité a été insérée dans la collection dans Zilliz Cloud. Voici ce que cela donne sur Zilliz Cloud si l'insertion a réussi :
Support
Si vous avez besoin d'aide ou si vous avez des questions concernant le connecteur Kafka Connect Milvus, n'hésitez pas à contacter le responsable du connecteur : Courriel : support@zilliz.com