2016-04-25 16 views
0

Ich möchte wissen, wie kann ich in dem gleichen Programm, um Zufallsdaten mit Apache Kafka generieren und erhalten Sie mit Spark-Streaming.Generieren Sie Daten mit Apache Kafka und erhalten Sie mit Funken Streaming

Lasst uns einen Anwendungsfall zeigen:

I Zufallsdaten wie diese erzeugen wollen -> (A, B, [email protected]), während X Sekunden. Und dann möchte ich diese Daten für die Verarbeitung in Echtzeit erhalten (während ich es empfange), und wenn der zweite Parameter B ist, senden Sie eine E-Mail an "[email protected]" mit der folgenden Nachricht: "Die erste Parameter ist A ".

Ich weiß, dass ich einen Zookeeper-Server starten muss, dann starten Sie einen Kafka-Broker, dann erstellen Sie ein Thema, und dann einen Produzenten für produzieren und senden Sie diese Daten. Um die Verbindung zwischen Kafka und Streaming herzustellen, muss ich die "createStream" -Funktion verwenden. Aber ich weiß nicht, wie man einen Produzenten benutzt, um diese Daten zu senden und sie dann mit Spark-Streaming zur Verarbeitung zu erhalten. All dies im selben Programm und mit Java.

Irgendwelche Hilfe? Vielen Dank.

+0

Google für "Kafka Produzent Java Beispiel". Dann lassen Sie uns wissen, wenn Sie bestimmte Probleme haben. – maasg

+0

Ich werde dir das gleiche schreiben, was ich zu Matthias J. Sax gesagt habe. Jetzt habe ich ein Produzentenprogramm, um diese Datenverbindung zu erzeugen, innerhalb habe ich die Nachricht hinzugefügt (A, B, [email protected]). Ich habe den Funken-Programm Link hier, und innerhalb möchte ich die Daten lesen und verarbeiten die E-Mail senden, wenn der zweite Parameter ein B. Ich bin nicht sehr vertraut mit diesem, aber ich versuche es. Jetzt zum Testen muss ich kafka (einschließlich zk) starten, und ich sollte eine Datei mehr (Hauptklasse) brauchen, die das Produzentenprogramm zum Schreiben in kafka startet, oder? Für den Funken muss ich nur das Programm richtig einreichen? Vielen Dank! –

Antwort

1

Es wird kein einziges Programm geben, sondern ein Kafka-Produzentenprogramm und ein Spark-Programm. Für beide gibt es einige Beispiele online verfügbar, zB:

dies ausführen zu können, Sie Kafka starten (einschließlich ZK) und Ihre Spark-Cluster. Danach starten Sie Ihr Producer-Programm, das in Kafka schreibt, und Ihren Spark-Job, der von Kafka liest (ich denke, die Reihenfolge, in der Producer und Spark gestartet werden, sollte keine Rolle spielen).

+0

Okay danke. Jetzt habe ich ein Produzentenprogramm zum Erzeugen dieser Daten [link] (http://pastebin.com/6akCmvBh), innerhalb ich die Nachricht hinzugefügt (A, B, [email protected]). Ich habe das Funken-Programm hier [Link] (http://pastebin.com/jadMReE9), und drinnen möchte ich die Daten lesen und verarbeiten die E-Mail senden, wenn der zweite Parameter ein B ist. Ich bin nicht sehr vertraut mit das, aber ich versuche es. Jetzt zum Testen muss ich kafka (einschließlich zk) starten, und ich sollte eine Datei mehr (Hauptklasse) brauchen, die das Produzentenprogramm zum Schreiben in kafka startet, oder? Für den Funken muss ich nur das Programm richtig einreichen? Vielen Dank. –

+0

Ich habe Ihren Code nicht angeschaut, aber was Sie schreiben, klingt richtig. –

+0

Okay, ich werde das versuchen. Das einzige, was ich jetzt brauche, ist zu wissen, wie man die Daten verarbeitet, die durch Streaming empfangen werden, um die E-Mail zu senden. Ich finde keine Beispiele, die ähnliches tun. –

Verwandte Themen