Voraussetzung
Sie müssen die erforderliche Python -Bibliothek installieren, um Daten von Kafka zu lesen. Python3 wird in diesem Tutorial verwendet, um das Skript von Verbraucher und Produzenten zu schreiben. Wenn das PIP -Paket nicht zuvor in Ihrem Linux -Betriebssystem installiert ist, müssen Sie PIP installieren, bevor Sie die Kafka -Bibliothek für Python installieren. Python3-Kafka wird in diesem Tutorial verwendet, um Daten von Kafka zu lesen. Führen Sie den folgenden Befehl aus, um die Bibliothek zu installieren.
$ pip Installieren Sie Python3-kafkaLesen einfacher Textdaten von Kafka
Verschiedene Arten von Daten können vom Produzenten zu einem bestimmten Thema gesendet werden, das vom Verbraucher gelesen werden kann. Wie ein einfacher Textdaten von Kafka mit Produzent und Verbraucher gesendet und empfangen werden kann, wird in diesem Teil dieses Tutorials angezeigt.
Erstellen Sie eine Datei mit dem Namen Produzent1.py mit dem folgenden Python -Skript. Kafkaproducer Das Modul wird aus der Kafka -Bibliothek importiert. Die Brokerliste muss zum Zeitpunkt der Initialisierung der Produzentenobjekte definiert werden, um eine Verbindung mit dem Kafka -Server herzustellen. Der Standardport von Kafka ist '9092''. Das Argument von Bootstrap_Servers wird verwendet, um den Hostnamen mit dem Port zu definieren. ''First_topic'wird als Themenname festgelegt, mit dem die SMS vom Produzenten gesendet wird. Als nächstes eine einfache Textnachricht. 'Hallo von Kafka'wird verwendet werden schicken() Methode von Kafkaproducer zum Thema ''First_topic''.
Produzent1.PY:
# Kafkaproducer in der Kafka -Bibliothek importierenErstellen Sie eine Datei mit dem Namen Verbraucher1.py mit dem folgenden Python -Skript. Kafkaconsumer Das Modul wird aus der Kafka -Bibliothek importiert, um Daten von Kafka zu lesen. sys Das Modul wird hier verwendet, um das Skript zu beenden. Der gleiche Hostname und die gleiche Portnummer des Produzenten werden im Skript des Verbrauchers verwendet, um Daten von Kafka zu lesen. Der Themenname des Verbrauchers und des Produzenten muss der gleiche sein, der istFirst_topic''. Als nächstes wird das Verbraucherobjekt mit den drei Argumenten initialisiert. Themenname, Gruppen -ID und Serverinformationen. für Die Schleife wird hier verwendet, um den Text zu lesen, der vom Kafka -Produzenten gesendet wird.
Verbraucher1.PY:
# Kafkaconsumer aus der Kafka -Bibliothek importierenAusgang:
Führen Sie den folgenden Befehl von einem Terminal aus, um das Produzentenskript auszuführen.
$ Python3 Produzent1.pyDie folgende Ausgabe wird nach dem Senden der Nachricht angezeigt.
Führen Sie den folgenden Befehl von einem anderen Terminal aus, um das Verbraucherskript auszuführen.
$ python3 Consumer1.pyDie Ausgabe zeigt den Themennamen und die vom Produzent gesendete Textnachricht.
Lesen von JSON -formatierten Daten von Kafka
Daten von JSON -Formatierten können vom Kafka -Produzenten gesendet und vom Kafka -Verbraucher gelesen werden der JSON Modul von Python. Wie JSON-Daten vor dem Senden und Empfangen der Daten mit dem Python-Kafka-Modul serialisiert und deserialisiert werden können, wird in diesem Teil dieses Tutorials angezeigt.
Erstellen Sie ein Python -Skript mit dem Namen Produzent2.py mit dem folgenden Skript. Ein weiteres Modul namens JSON wird mit importiert Kafkaproducer Modul hier. Value_Serializer Argument wird mit verwendet Bootstrap_Servers Argument hier, um das Objekt des Kafka -Produzenten zu initialisieren. Dieses Argument zeigt an, dass JSON -Daten mit 'codiert werden' codiert werdenUTF-8'Charakter zum Zeitpunkt des Sendens festgelegt. Als Nächst Jsontopic.
Produzent2.PY:
# Kafkaproducer in der Kafka -Bibliothek importierenErstellen Sie ein Python -Skript mit dem Namen Verbraucher2.py mit dem folgenden Skript. Kafkaconsumer, sys und JSON -Module werden in diesem Skript importiert. Kafkaconsumer Das Modul wird verwendet, um jSON -formatierte Daten aus dem Kafka zu lesen. Das JSON -Modul wird verwendet, um die codierten JSON -Daten zu dekodieren, die vom Kafka -Produzenten gesendet werden. Sys Modul wird verwendet, um das Skript zu beenden. Value_Deserializer Argument wird mit verwendet Bootstrap_Servers zu definieren, wie JSON -Daten dekodiert werden. Nächste, für Die Schleife wird verwendet, um alle von Kafka abgerufenen JSON -Daten und JSON -Daten zu drucken.
Verbraucher2.PY:
# Kafkaconsumer aus der Kafka -Bibliothek importierenAusgang:
Führen Sie den folgenden Befehl von einem Terminal aus, um das Produzentenskript auszuführen.
$ Python3 Produzent2.pyDas Skript druckt die folgende Nachricht nach dem Senden der JSON -Daten.
Führen Sie den folgenden Befehl von einem anderen Terminal aus, um das Verbraucherskript auszuführen.
$ Python3 Consumer2.pyDie folgende Ausgabe wird nach dem Ausführen des Skripts angezeigt.
Abschluss:
Die Daten können mit Python in verschiedenen Formaten von Kafka gesendet und empfangen werden. Die Daten können auch in der Datenbank gespeichert und mit Kafka und Python aus der Datenbank abgerufen werden. Ich habe zu Hause, dieses Tutorial hilft dem Python -Benutzer, mit Kafka zusammenzuarbeiten.