? ? Sqoop在導(dǎo)出到Mysql時(shí)班缎,使用4個(gè)Map任務(wù)原茅,過(guò)程中有2個(gè)任務(wù)失敗,那此時(shí)MySQL中存儲(chǔ)了另外兩個(gè)Map任務(wù)導(dǎo)入的數(shù)據(jù)叛氨,此時(shí)老板正好看到了這個(gè)報(bào)表數(shù)據(jù)呼渣。而開(kāi)發(fā)工程師發(fā)現(xiàn)任務(wù)失敗后,會(huì)調(diào)試問(wèn)題并最終將全部數(shù)據(jù)正確的導(dǎo)入MySQL寞埠,那后面老板再次看報(bào)表數(shù)據(jù)屁置,發(fā)現(xiàn)本次看到的數(shù)據(jù)與之前的不一致,這在生產(chǎn)環(huán)境是不允許的仁连。
–staging-table方式
通過(guò)—stage -table選項(xiàng)指定一個(gè)staging表來(lái)克服這個(gè)問(wèn)題蓝角,—stage -table選項(xiàng)充當(dāng)一個(gè)輔助表,用于對(duì)導(dǎo)出的數(shù)據(jù)進(jìn)行分段。階段數(shù)據(jù)最終在單個(gè)事務(wù)中移動(dòng)到目標(biāo)表使鹅。(相當(dāng)于使用一張臨時(shí)表做了事務(wù)處理揪阶,如果成功則從臨時(shí)表導(dǎo)出數(shù)據(jù),如果失敗則重新導(dǎo)入臨時(shí)表)