2016-11-02 3 views
2

Ich entwerfe eine Anwendung, die Antwort sehr schnell benötigt und eine große Menge von Daten (> 40G) von Hadoop Dateisystem abrufen und verarbeiten muss, eine Eingabe (Befehl) gegeben.Wie kann Spark Eingabe nehmen, nachdem es eingereicht wurde

Ich denke, wenn es möglich ist, so viel Datenmenge im verteilten Speicher mit Funken zu fangen, und lassen Sie die Anwendung die ganze Zeit laufen. Wenn ich der Anwendung einen Befehl gebe, könnte sie beginnen, Daten basierend auf der Eingabe zu verarbeiten.

Ich denke, solche großen Daten zu fangen ist kein Problem. Wie kann ich jedoch die Anwendung laufen lassen und Eingaben machen?

Soweit ich weiß, gibt es nichts nach „funken Eintragen“ Befehl getan werden kann ...

Antwort

1

Die Anforderung ist nicht klar !!!, sondern basiert auf meinem Verständnis

1) In Funken einreichen, nachdem der application.jar, können Sie anwendungsspezifische Befehlszeilenargumente liefern. Wenn Sie jedoch nach dem Start des Jobs Befehle senden möchten, können Sie einen Spark-Streaming-Job schreiben, der Kafka-Nachrichten verarbeitet.

2) HDFS ist bereits für die Verarbeitung großer Datenmengen optimiert. Sie können wiederverwendbare Zwischendaten zwischenspeichern, damit sie nicht erneut berechnet werden. Aber für eine bessere Leistung sollten Sie etwas wie elasticsearch/cassandra verwenden, damit sie noch schneller abgerufen/gespeichert werden können.

Verwandte Themen