Video: Sqoop Import and Export data from RDMBS and HDFS 2024
Pronto per immergerti nell'importazione di dati con Sqoop? Inizia dando un'occhiata alla figura, che illustra i passaggi in una tipica operazione di importazione Sqoop da un RDBMS o un sistema di data warehouse. Niente di troppo complicato qui: solo una tipica tabella di dati dei prodotti di un'impresa fittizia (tipica) importata in un tipico cluster Apache Hadoop da un tipico sistema di gestione dei dati (DMS).
Durante il passaggio 1, Sqoop utilizza il connettore appropriato per recuperare i metadati della tabella Prodotti dal DMS di destinazione. (I metadati vengono utilizzati per associare i tipi di dati dalla tabella Prodotti ai tipi di dati nel linguaggio Java.)
Il passaggio 2 utilizza quindi questi metadati per generare e compilare una classe Java che verrà utilizzata da una o più attività della mappa per importa le righe effettive dalla tabella Prodotti. Sqoop salva la classe Java generata nello spazio temporaneo o in una directory specificata in modo da poterla sfruttare per l'elaborazione successiva dei record di dati.
Il codice Java generato da Sqoop che viene salvato per te è come il regalo che continua a dare! Con questo codice, Sqoop importa i record dal DMS e li archivia su HDFS utilizzando uno dei tre formati che è possibile selezionare: dati Avro binari, file di sequenza binaria o file di testo delimitati. Successivamente, questo codice è disponibile per la successiva elaborazione dei dati.
I file di sequenza sono una scelta naturale se stai importando tipi di dati binari e avrai bisogno della classe Java generata per serializzare e deserializzare i tuoi dati in un secondo momento, magari per l'elaborazione o l'esportazione di MapReduce. I dati Avro, basati sul framework di serializzazione di Apache, sono utili se è necessario interagire con altre applicazioni dopo l'importazione in HDFS.
Se si sceglie di memorizzare i dati importati in formato di testo delimitato, è possibile trovare il codice Java generato più prezioso successivamente mentre si analizzano e si eseguono le conversioni del formato dati sui nuovi dati. Vedrai che il codice generato ti aiuta anche a unire i set di dati dopo le operazioni di importazione di Sqoop e il codice Java generato può aiutare a evitare l'ambiguità durante l'elaborazione dei dati di testo delimitati.
Infine, durante il Passaggio 3, Sqoop divide i record di dati nella tabella Prodotti in una serie di attività della mappa (con il numero di mappatori facoltativamente specificati dall'utente) e importa i dati della tabella in HDFS, Hive o HBase.