web-dev-qa-db-fra.com

Comment supprimer plusieurs sujets dans Apache Kafka

Supposons que plusieurs sujets portent le même préfixe, par exemple:

giorgos-topic1
giorgos-topic2
giorgos-topic3
...

La commande utilisée pour supprimer un seul sujet (par exemple, giorgos-topic1) est la suivante:

./bin/kafka-topics.sh --zookeeper localhost:2181 --delete --topic giorgos-topic1

Est-il possible de supprimer plusieurs colonnes en utilisant une seule commande et éventuellement une expression régulière/un caractère générique (par exemple giorgos-*) au lieu de saisir toutes les colonnes devant être supprimées une par une? 

8
Giorgos Myrianthous

Oui, vous pouvez utiliser des expressions de type regex lors de la suppression de sujets avec l'outil kafka-topics.sh:

Par exemple, pour supprimer tous les sujets commençant par giorgos-:

./bin/kafka-topics.sh --zookeeper localhost:2181 --delete --topic giorgos-.*

À l'aide des API d'administration, vous pouvez également supprimer plusieurs sujets à la fois, voir AdminClient.deleteTopics

13
Mickael Maison

Dans les cas où l'expression régulière n'est pas possible, nous pouvons utiliser une liste de noms de sujets séparés par des virgules pour la suppression de sujets.

kafka-topics.sh --zookeeper 10.0.0.160:2181 --delete --topic giorgos-topic1,giorgos-topic2,giorgos-topic3,...
1
Aman Saurav

Veuillez ajouter single quote ('giorgos -. *') S’il se plaint comme no matches found: giorgos-.*

./bin/kafka-topics.sh --zookeeper localhost:2181 --delete --topic 'giorgos-.*'
0
kundan bora