Importieren von Daten mit Sqoop

Bereit, um mit Sqoop in den Import von Daten zu tauchen? Beginnen Sie, indem Sie einen Blick auf die Figur nehmen, das die Schritte in einem typischen Sqoop Importvorgang von einem RDBMS oder einem Data-Warehouse-System zeigt. Nichts zu kompliziert hier - nur eine typische Produkte Datentabelle aus einer (typisch) fiktive Firma in eine typische Cluster Apache Hadoop importiert wird von einem typischen Datenmanagementsystem (DMS).

bild0.jpg

Während Schritt 1 verwendet Sqoop den entsprechenden Anschluss die Tabelle Products Metadaten aus den Ziel DMS abzurufen. (Die Metadaten werden verwendet, um die Datentypen aus der Tabelle Artikel zu Datentypen in der Java-Sprache abzubilden.)

Schritt 2 verwendet dann diese Metadaten eine Java-Klasse zu generieren und zu kompilieren, die durch eine oder mehrere Karte Aufgaben verwendet werden, die tatsächlichen Zeilen aus der Tabelle Artikel zu importieren. Sqoop speichert die erzeugte Java-Klasse zu temporären Raum oder in ein Verzeichnis Sie so festlegen, dass sie für die nachfolgende Verarbeitung Ihrer Datensätze nutzen können.

Der Sqoop generierte Java-Code, der für Sie gespeichert ist wie das Geschenk, das hält! Mit diesem Code importiert Sqoop Datensätze aus dem DMS und speichert sie auf HDFS einem von drei Formaten, die Sie auswählen können: binär Avro Daten, binäre Sequenz-Dateien oder getrennte Textdateien. Danach ist dieser Code für nachfolgende Datenverarbeitung zur Verfügung.

Sequence-Dateien sind eine natürliche Wahl, wenn Sie binäre Datentypen importieren und Sie werden die generierten Java-Klasse müssen serialisiert werden und Ihre Daten deserialisiert später - vielleicht für MapReduce Verarbeitung oder zu exportieren. Avro Daten - basierend auf Apache eigene Serialisierung Rahmen - ist nützlich, wenn Sie mit anderen Anwendungen nach dem Import zu HDFS interagieren müssen.

Wenn Sie zum Speichern der importierten Daten in getrennte Textformat auswählen, können Sie die generierte Java-Code wertvoll später auf, wie Sie analysieren und Datenformatkonvertierungen auf Ihrem neuen Daten durchführen. Sie werden sehen, dass der generierte Code hilft Ihnen auch, Daten zusammenführen Sätze nach Sqoop Import-Operationen, und die generierten Java-Code kann dazu beitragen, Mehrdeutigkeit zu vermeiden, wenn getrennte Textdatenverarbeitung.

Schließlich wird während Schritt 3 teilt Sqoop die Datensätze in der Tabelle Artikel in einer Reihe von Kartenaufgaben (mit der Anzahl der Mapper optional durch den Benutzer angegeben) und importiert die Tabellendaten in HDFS, Hive oder HBase.

Menü