Bisher habe ich noch keinen Python-Client gesehen, der das Erstellen eines Themas explizit implementiert, ohne die Konfigurationsoption zum automatischen Erstellen der Themen zu verwenden.So erstellen Sie ein Thema in Apache kafka mit Python
Antwort
Es scheint, dass es keine kafka Server api ist ein Thema zu erstellen, damit Sie Thema automatische Erstellung der oder die Kommandozeilen-Tool verwenden:
bin/kafka-create-topic.sh --zookeeper localhost:2181 --replica 1 --partition 1 --topic test
Es sieht aus wie Sie können, können auf die folgenden Befehle verwenden sicherzustellen, dass Ihr Thema bereits vorhanden sein (ich nehme an, Sie die folgende kafka python Implementierung verwenden):
client = KafkaClient(...)
producer = KafkaProducer(...)
client.ensure_topic_exists('my_new_topic')
producer.send_messages('my_new_topic', ...)
Es ist schon zu spät. Ich weiß nichts über einen Befehl zum expliziten Erstellen der Themen, aber das folgende erstellt und fügt die Nachrichten hinzu.
ich ein Python kafka Produzent erstellt:
prod = KafkaProducer(bootstrap_servers='localhost:9092')
for i in xrange(1000):
prod.send('xyz', str(i))
in der Liste der Kafka Themen xyz
vorher nicht da war. Wenn ich die obige Methode gemacht habe, hat der Python-kafka-Client es erstellt und die Nachrichten hinzugefügt.
Eigentlich hat der Broker das Thema erstellt und nur, weil auto.topic.create.enable auf "true" gesetzt wurde . Alle Themen, die auf diese Weise erstellt wurden, weisen die Standardkonfiguration auf, die möglicherweise für Ihren Anwendungsfall geeignet ist oder nicht. –
Die Adminclient API wurde programmatisches Thema Erstellung und Konfiguration zu tun, brauchte nur in Kafka 0,11 (ursprünglich für Java)
erwartetEs wird Siehe fügen hinzu, dass Nicht-Java-Client-Bibliotheken diese Funktionalität hinzufügen, werden als im Laufe der Zeit. Prüfen Sie mit dem Autor des Kafka Python-Client Sie verwenden (es gibt mehrere), um zu sehen, ob und wann KIP-4 Admin-Protokoll-Unterstützung in der API
from kafka import KafkaProducer
producer = KafkaProducer(bootstrap_servers=['localhost:9092'])
topic = 'topic-name'
producer.send(topic, final_list[0]).get(timeout=10)
- 1. Thema erstellen Apache Kafka
- 2. So löschen Sie ein Thema in Apache kafka
- 3. Kafka 0.9 - So erstellen Sie ein Thema durch Java-API
- 4. Apache Kafka - KafkaStream auf Thema/partition
- 5. So erstellen Sie ein Amazon SNS-Thema
- 6. Erstellen Sie einen Kafka Broker-Cluster mit Apache Kafka 0.10.0 API mit Java
- 7. So erstellen Sie ein Thema auf shopify mit PHP API
- 8. Kafka Thema vs Partition Thema
- 9. So erstellen Sie ein neues Thema in Drupal 7
- 10. mit Jmx Monitor Kafka Thema
- 11. Apache Kafka Mehrere Verbraucherinstanzen
- 12. kafka Get Partition Anzahl für ein Thema
- 13. Kafka Broker vs Thema
- 14. Wie lade ich ein Kafka-Thema in HDFS?
- 15. logstash mit mehrere kafka Thema Eingang
- 16. Thema Erstellungsfehler Kafka auf Windows 7
- 17. Wie werden THEMEN in Apache Kafka verwaltet
- 18. Von Anfang an ein Kafka-Thema mit Fink konsumieren
- 19. Apache Kafka Client mit Selektor?
- 20. So erstellen Sie ein Pure-Python-Rad
- 21. Ist es möglich, ein Kafka-Thema mit dynamischer Partitionsanzahl zu erstellen?
- 22. Lesen Sie spezifische Nachrichten mit Apache Kafka und NodeJS
- 23. Welche Einschränkungen gibt es bei Apache Kafka?
- 24. kafka-python raisen kafka.errors.ConsumerFetchSizeTooSmall
- 25. Wie viele Produzenten in Kafka erstellen?
- 26. So speichern Sie den gesamten JSON von Kafka Thema zu Cassandra Tabelle, mit Spark Streaming
- 27. So erkennen Sie Verbindungsfehler in Kafka
- 28. Generieren Sie Daten mit Apache Kafka und erhalten Sie mit Funken Streaming
- 29. So senden und empfangen Xmls mit Kafka
- 30. kafka NoClassDefFoundError kafka/Kafka
Siehe sein wird, die nicht funktionieren wird . 'sure_topic_exists' funktioniert nur mit der aktivierten automatischen Themenerstellung. https://github.com/mumrah/kafka-python/blob/cd81cf0ec8c1b7e7651374c5d1cbd105d003d352/kafka/client.py#L305-L306 – zackdever