2016-12-15 2 views
2

Je reçois des événements qui se retrouvent à Kafka. À partir de ces événements, je récupère l'ID à l'aide d'une application Kafka Streams et je l'affiche sur Kafka comme une paire de (id, 1) dans un autre sujet. Ensuite, je voudrais voir si l'ID existe déjà dans ElasticSearch, et si c'est le cas mettre à jour son compteur, sinon créer un nouvel enregistrement dans ElasticSearch avec l'ID de Kafka et compteur mis à 1, soit un upsert de l'enregistrement (id, 1) les orteils. J'espérais utiliser Kafka Connect pour ElasticSearch pour cela, mais cela ne semble pas si simple que cela. Je peux voir que l'ajout d'enregistrements à ES fonctionne, mais la fusion avec des enregistrements existants semble quelque chose que je n'ai pas encore découvert. Est-ce déjà possible, et si oui, comment, et si ce n'est pas le cas, est-ce prévu d'être possible dans une version proche?Est-ce qu'un relooking est possible avec Kafka Connectez-vous à ElasticSearch

Répondre

2

J'ai forké le datamountaineer ES sink connector pour autoriser Upsert. Avec lui, vous pouvez spécifier un PK et lancer une mise à jour avec docAsUpsert dans ES. Vous pouvez récupérer le projet et compiler le fichier Jar à partir de my github fork.