Video: Apache Sqoop Tutorial | Sqoop: Import & Export Data From MySQL To HDFS | Hadoop Training | Edureka 2024
Klaar om in Sqoop te duiken om gegevens te importeren? Begin met een kijkje in de figuur, die de stappen illustreert in een typische Sqoop-importbewerking vanuit een RDBMS of een datawarehouse-systeem. Niets is te gecompliceerd, het is gewoon een typische Products-gegevenstabel van een (typisch) fictief bedrijf dat wordt geïmporteerd in een typisch Apache Hadoop-cluster uit een typisch gegevensbeheersysteem (DMS).
Tijdens stap 1 gebruikt Sqoop de juiste connector om de metadata van de producttabel op te halen uit de doel-DMS. (De metagegevens worden gebruikt om de gegevenstypen van de tabel Producten toe te wijzen aan gegevenstypen in de Java-taal.)
Stap 2 gebruikt vervolgens deze metagegevens om een Java-klasse te genereren en te compileren die door een of meer kaarttaken wordt gebruikt om importeer de daadwerkelijke rijen uit de tabel Producten. Sqoop slaat de gegenereerde Java-klasse op naar tijdelijke ruimte of naar een map die u opgeeft, zodat u deze kunt gebruiken voor de daaropvolgende verwerking van uw gegevensrecords.
De Sqoop-gegenereerde Java-code die voor u is opgeslagen, is als het geschenk dat blijft geven! Met deze code importeert Sqoop records van de DMS en slaat deze op naar HDFS met behulp van een van de drie formaten die u kunt kiezen: binaire Avro-gegevens, binaire sequentiebestanden of gescheiden tekstbestanden. Nadien is deze code voor u beschikbaar voor de daaropvolgende gegevensverwerking.
Sequentiebestanden zijn een logische keuze als u binaire gegevenstypen importeert en u de gegenereerde Java-klasse nodig heeft om uw gegevens later te serialiseren en deserialiseren - misschien voor MapReduce-verwerking of export. Avro-gegevens - gebaseerd op het eigen serialisatieframework van Apache - is handig als u na het importeren naar HDFS moet communiceren met andere toepassingen.
Als u ervoor kiest om uw geïmporteerde gegevens in een gescheiden tekstindeling op te slaan, is het mogelijk dat de gegenereerde Java-code later van waarde is tijdens het parseren en het uitvoeren van gegevensindelingsconversies voor uw nieuwe gegevens. U ziet dat de gegenereerde code u ook helpt bij het samenvoegen van gegevenssets na Sqoop-importbewerkingen, en de gegenereerde Java-code kan dubbelzinnigheid helpen voorkomen bij het verwerken van afgebakende tekstgegevens.
Tot slot verdeelt Sqoop tijdens stap 3 de gegevensrecords in de tabel Producten over een aantal kaarttaken (met het aantal mappers dat optioneel door de gebruiker is opgegeven) en importeert de tabelgegevens naar HDFS, Hive of HBase.