Apache Kafka Jak usunąć dane z topic’u? – sprawdź 2 sposoby!

You are currently viewing Apache Kafka Jak usunąć dane z topic’u? – sprawdź 2 sposoby!
Photo by John Schnobrich on Unsplash
Share This Post, Help Others, And Earn My Heartfelt Appreciation! :)
4.9
(528)

W tym poście rozwiążemy problem: Apache Kafka Jak usunąć dane z topic. Podczas pracy z Apache Kafka może zdarzyć się sytuacja, gdy będziemy potrzebowali usunać dane z topic’u, bo np. podczas testów zostały wysłane śmieciowe dane, a nie mieliśmy jeszcze zaimplementowanej obsługi takich błędów, w wyniku czego powstał nam tzw. „poison pill” – czyli taki rekord/rekordy, które za każdym razem, gdy próbujemy odczytać z Kafki powodują, że nasze przetważanie ulega awarii.

Apache Kafka Jak usunąć dane z topic

1 sposób (niezalecany)

Możemy po prostu usunąc topic i stworzyć go na nowo. Osobiście uważam, że lepiej jest stosować sposób drugi czyli:

2 sposób: zmiana retencji

Drugim sposobem jest zmiana retencji danych na topic’u do jakieś małej wartości np. 1 sekundy. Dane zostaną automatycznie usunięte przez wewnętrzene procesy Kafki. O nic nie musimy się wtedy martwić.

Najpierw sprawdźmy aktualną konfigurację topic’u: retention.ms=86400000 (7 dni)

kafka-topics --zookeeper kafka:2181 --topic bigdata-etl-file-source -describe

Topic:bigdata-etl-file-source	PartitionCount:1	ReplicationFactor:1	Configs:retention.ms=86400000
	Topic: bigdata-etl-file-source	Partition: 0	Leader: 0	Replicas: 0	Isr: 0

Zmieniamy retencje na 1 sekundę

kafka-configs --zookeeper <zookeeper>:2181 --entity-type topics --alter --entity-name bigdata-etl-file-source --add-config retention.ms=1000

Sprawdzamy konfigurację:

kafka-configs --zookeeper <zookeeper>:2181 --entity-type topics --alter --entity-name bigdata-etl-file-source --add-config retention.ms=1000

kafka-configs --zookeeper kafka:2181 --entity-type topics --alter --entity-name bigdata-etl-file-source --add-config retention.ms=1000

Pamiętaj, aby chwilę odczekać (około 1 min), aby dane zostały usunięte.

Gdy sprawdzimy, że dane zostały już usunięte z topic’u, możemy przywrócić poprzednie ustawienia. (Apache Kafka Jak usunąć dane z topic)

Jeśli spodobał Ci się ten post to zostaw proszę komentarz poniżej lub udostępnij ten post na swoim Facebook’u, Twitter’ze, LinkedIn lub innej stronie z mediami społecznościowymi.
Dzięki!

How useful was this post?

Click on a star to rate it!

Average rating 4.9 / 5. Vote count: 528

No votes so far! Be the first to rate this post.

Subscribe
Powiadom o
guest
0 Comments
Inline Feedbacks
View all comments