在開始導入之前,sqoop會通過jdbc來獲得所需要的資料庫中繼資料
1.導入表的列名、資料類型等;
2.接着這些資料庫的資料類型(varchar、number等)會把映射成java的資料類型(string、int等),根據這些資訊,sqoop會生成一個與表名同名的類用來完成反序列的工作,保持表中的每一行記錄;
3.sqoop啟動mapreduce作業
4.啟動的作業在input的過程中,會通過jdbc讀取資料庫表中的内容;
5.這是會使用sqoop生成的類進行反序列話
6.最後再将這些記錄寫到hdfs中,在寫入hdfs的過程中,同樣會使用sqoop生成的類進行序列化。
1/2 sqoop根據目标表的結構會生成一個java類
3.該類作用為序列化和反序列化
4.接着啟動一個mapreduce作業
5.在作業中會生成的java類從hdfs中讀取資料
6.并生成一批insert語句,每條語句都會向mysql的目标表中插入多條記錄