Ich versuche mein Gehirn um Hadoop wickeln und lesen this excellent tutorial sowie die official Hadoop docs. Jedoch in keinen dieser Literatur finde ich eine einfache Erklärung für etwas ziemlich rudimentär: „Hallo Welt“Wie erhält Hadoop Eingabedaten, die nicht in HDFS gespeichert sind?
In allen gekünstelt (Wortzahl) einleitende MR Beispiele, die Eingangsdaten gespeichert direkt in Textdateien. Aber für mich ist es fühlt wie dies würde selten der Fall in der realen Welt sein. Ich würde vorstellen, dass die Eingangsdaten existieren würden in großen Datenspeichern, wie ein relationale DB, Mongo, Cassandra in Wirklichkeit, oder nur über REST API zur Verfügung, usw.
Also frage ich: In der realen Welt , wie erhält Hadoop seine Eingabedaten? Ich sehe, dass es Projekte wie Sqoop und Flume gibt und frage mich, ob der Sinn dieser Frameworks darin besteht, einfach ETL-Daten in HDFS einzugeben, um MR-Jobs auszuführen.
gute Frage, aber es gibt auch viele Fälle in der "realen Welt" (was auch immer das für irreale Welten bedeuten mag), in denen hadoop seine Daten von Dateien auf HDFS bezieht. Vielleicht finden Sie Hive nützlich für Ihre Bedürfnisse ... – vefthym
Danke @veththym (+1) - dann denke ich die Wurzel meiner Frage ist: * Wie kommen die Daten auf die HDFS in erster Linie? * Zumindest dort Es muss * irgendeine * Art von Upfront-ETL von verschiedenen heterogenen Systemen (wieder wie Mongo, Cassandra, REST-APIs usw.) auf dem HDFS sein. Aber ich würde denken, dass diese ETL-Prozesse so langsam und arbeitsintensiv sind, dass Hadoop (oder ein begleitendes Framework) in der Lage wäre, Daten direkt aus diesen Systemen zu laden, entweder HDFS komplett zu umgehen oder sie auf HDFS JIT zu laden. – smeeb
Vielleicht könnten Sie andere alternative Eingabeformate als [FileInputFormat] (https://hadoop.apache.org/docs/current/api/org/apache/hadoop/mapred/FileInputFormat.html) untersuchen, zum Beispiel [DBInputFormat ] (https://hadoop.apache.org/docs/current/api/org/apache/hadoop/mapred/lib/db/DBInputFormat.html), damit Sie auf nicht in einer Datenbank gespeicherte HDFS-Daten zugreifen können. – frb