🚀 Essayez Zilliz Cloud, la version entièrement gérée de Milvus, gratuitement—découvrez des performances 10x plus rapides ! Essayez maintenant>>

milvus-logo
LFAI
Home
  • Intégrations

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.

  1. Téléchargez le dernier fichier zip du plugin zilliz-kafka-connect-milvus-xxx.zip à partir d'ici.

Étape 2 : Télécharger Kafka

  1. Téléchargez la dernière version de Kafka à partir d'ici.
  2. 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 :

  1. Démarrer le service ZooKeeper

    $ bin/zookeeper-server-start.sh config/zookeeper.properties
    
  2. 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.

  1. 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
    
  2. 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

  1. Décompressez le fichier zilliz-kafka-connect-milvus-xxx.zip que vous avez téléchargé à l'étape 1.

  2. copiez les répertoires zilliz-kafka-connect-milvus dans le répertoire libs de votre installation Kafka.

  3. modifier le fichier connect-standalone.properties dans le répertoire config de votre installation Kafka.

    key.converter.schemas.enable=false
    value.converter.schemas.enable=false
    plugin.path=libs/zilliz-kafka-connect-milvus-xxx
    
  4. créer et configurer un fichier milvus-sink-connector.properties dans le répertoire config 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

  1. 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
    
  2. 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"}
    
  3. 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