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?
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
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,...
Veuillez ajouter single quote ('giorgos -. *') S’il se plaint comme no matches found: giorgos-.*
./bin/kafka-topics.sh --zookeeper localhost:2181 --delete --topic 'giorgos-.*'