Video: Sqoop Import and Export data from RDMBS and HDFS 2024
importiert wird Bereit zu tauchen in das Importieren von Daten mit Sqoop? Beginnen Sie mit einem Blick auf die Abbildung, die die Schritte einer typischen Sqoop-Importoperation aus einem RDBMS- oder einem Data-Warehouse-System veranschaulicht. Nichts zu kompliziertes hier - nur eine typische Produktdatentabelle von einem (typischen) fiktiven Unternehmen, das von einem typischen Datenverwaltungssystem (DMS) in einen typischen Apache Hadoop-Cluster importiert wird.
In Schritt 1 verwendet Sqoop den entsprechenden Connector, um die Metadaten der Produkttabelle aus dem Ziel-DMS abzurufen. (Die Metadaten werden verwendet, um die Datentypen aus der Tabelle Products den Datentypen in der Java-Sprache zuzuordnen.)
Schritt 2 verwendet diese Metadaten dann zum Generieren und Kompilieren einer Java-Klasse, die von einer oder mehreren Map-Tasks verwendet wird. Importieren Sie die tatsächlichen Zeilen aus der Tabelle "Produkte". Sqoop speichert die generierte Java-Klasse im temporären Speicherbereich oder in einem von Ihnen angegebenen Verzeichnis, sodass Sie sie für die nachfolgende Verarbeitung Ihrer Datensätze nutzen können.
Der von Sqoop erzeugte Java-Code, der für Sie gespeichert wird, ist wie das Geschenk, das immer weitergegeben wird! Mit diesem Code importiert Sqoop Datensätze aus dem DMS und speichert sie unter Verwendung eines von drei Formaten, die Sie auswählen können, in HDFS: binäre Avro-Daten, binäre Sequenzdateien oder Textdateien mit Trennzeichen. Danach steht Ihnen dieser Code zur späteren Datenverarbeitung zur Verfügung.
Sequenzdateien sind eine natürliche Wahl, wenn Sie Binärdatentypen importieren und die generierte Java-Klasse benötigen, um Ihre Daten später zu serialisieren und zu deserialisieren - etwa für MapReduce-Verarbeitung oder -Export. Avro-Daten - basierend auf dem eigenen Serialisierungsframework von Apache - sind nützlich, wenn Sie nach dem Import in HDFS mit anderen Anwendungen interagieren müssen.
Wenn Sie Ihre importierten Daten in einem Textformat mit Trennzeichen speichern möchten, finden Sie den generierten Java-Code möglicherweise später beim Analysieren und Ausführen von Datenformatkonvertierungen für Ihre neuen Daten nützlich. Sie werden feststellen, dass der generierte Code auch beim Zusammenführen von Datensätzen nach Sqoop-Importvorgängen hilft und der generierte Java-Code dabei helfen kann, Mehrdeutigkeiten bei der Verarbeitung von Textdaten mit Trennzeichen zu vermeiden.
Schließlich verteilt Sqoop während Schritt 3 die Datensätze in der Tabelle "Produkte" auf eine Anzahl von Kartenaufgaben (mit der vom Benutzer optional angegebenen Anzahl von Zuordnern) und importiert die Tabellendaten in HDFS, Hive oder HBase.