Video: Sqoop Import and Export data from RDMBS and HDFS 2024
Klar för att dyka in i att importera data med Sqoop? Börja med att titta på figuren, som illustrerar stegen i en typisk Sqoop-importoperation från ett RDBMS eller ett datalagringssystem. Ingenting för komplicerat här - bara en typisk produktdatatabell från ett (typiskt) fiktivt företag som importeras till ett typiskt Apache Hadoop-kluster från ett typiskt datahanteringssystem (DMS).
Under steg 1 använder Sqoop lämplig kontakt för att hämta produkttabellmetadata från målet DMS. (Metadata används för att kartlägga datatyperna från produkttabellen till datatyper i Java-språket.)
Steg 2 använder sedan denna metadata för att generera och kompilera en Java-klass som ska användas av en eller flera kartuppgifter till importera de faktiska raderna från tabellen Produkter. Sqoop sparar den genererade Java-klassen till temprymme eller till en katalog du anger så att du kan utnyttja den för efterföljande behandling av dina dataposter.
Den Sqoop genererade Java-koden som sparas för dig är som den gåvan som fortsätter att ge! Med denna kod registrerar Sqoop import från DMS och lagrar dem till HDFS med ett av tre format som du kan välja: binära Avro-data, binära sekvensfiler eller avgränsade textfiler. Efteråt är denna kod tillgänglig för dig för efterföljande databehandling.
Sekvensfiler är ett naturligt val om du importerar binära datatyper och du behöver den genererade Java-klassen för att serialisera och deserialisera dina data senare - kanske för MapReduce-bearbetning eller export. Avro-data - baserat på Apaches egna serialiseringsramar - är användbart om du behöver interagera med andra program efter importen till HDFS.
Om du väljer att lagra din importerade data i avgränsat textformat kan du kanske hitta den genererade Java-koden värdefull senare när du analyserar och utför dataformatkonverteringar på din nya data. Du får se att den genererade koden också hjälper dig att slå samman datasatser efter Sqoop-importoperationer, och den genererade Java-koden kan hjälpa till att undvika tvetydighet vid bearbetning av avgränsad textdata.
Slutligen delar Sqoop data i Record-tabellen över ett antal kartuppgifter (med antalet mappers som eventuellt anges av användaren) och importerar tabelldata till HDFS, Hive eller HBase.