Ich werde Hadoop in meinem neuen Projekt verwenden. Das Projektkonzept ist wie auf dem folgenden Bild: Praktische Anwendung von Hadoop in Projekt
Benutzer hat Gerät, das einige Daten (Protokolle) erzeugt. Der Benutzer kann Daten vom Gerät als Datei abrufen und sie in die Web App/Hadoop hochladen. Ich werde eine Web-Anwendung mit Ruby on Rails erstellen.
Ich kenne einige Grundlagen von Hadoop (HDFS, Mapper, Reducer), aber ich weiß nicht, wie man Hadoop praktisch verwendet. Das Projekt ist nun nur noch ein Konzept, denn ich möchte zuerst einige Tipps bekommen und dann die Projektkomponenten an gesammelten Tipps anpassen.
Meine wichtigsten Überlegungen sind etwa:
- Web-App auf der gleichen Position wie Hadoop gespeichert werden sollte? (der gleiche Server/Cloud/Dienstanbieter)
- Wie Dateien hochladen? Kann man im Web-App-Formular Dateien hochladen? Oder ist es besser, eine Desktop-Anwendung zum Hochladen von Dateien zu erstellen (mögliche Dateigröße: 100 MB - 1 GB)?
- Wenn es Desktop-Anwendung wäre, ist es besser, Daten direkt an Hadoop oder irgendwie über Web-Anwendung zu senden?
- Können Sie mir einige nützliche Framework/Tool/API/Ressourcen zum Hochladen von externen Ressourcen (meine Web-App oder Desktop-Anwendung) zeigen?
- Wie werden die Hadoop-Daten korrekt verwendet? Nehmen wir an, dass die Benutzerdatei zu Hadoop gelangt. Ich weiß, dass ich Mapper und Reducer für diese Datei ausführen kann, was eine Ausgabedatei erzeugt (oder legt einige Daten an HBase - ich habe Recht?). Um diese Daten zu erhalten, brauche ich eine korrekte Ausgabedatei oder bekomme etwas "SELECT" von HBase, habe ich recht? Enthält Hadoop einen Trigger zum Senden von Informationen an externe Web-App, wenn der Job erledigt ist?
Ich freue mich über jeden Hinweis in diesem Thema.
Warum benötigen Sie Hadoop überhaupt? Haben Sie viele Daten? –
Beachten Sie, dass Hadoop nicht in Echtzeit verfügbar ist. Es ist schwierig, Daten von HDFS (Hadoop) aus Ihrer Webanwendung abzufragen. Normalerweise exportiert man Daten aus Hadoop, sobald sie verarbeitet wurden. –
Guter Punkt, der nicht in Echtzeit ist, aber es ist kein Problem für jetzt. – nicq