CSV使用DataX導入數據庫臟數據問題

功能需求:網頁上傳csv文件通過DATAX導入數據庫

環境:有主備文件同步

導入工具:DataX

問題日志:

驗證尋找bug步驟:

1. datax導入1000w行有臟數據

2. 嘗試500w,200w,100w,50w,只有50w的可以

3. 嘗試減去不同類型文件,只要達到一定大小就會出現臟數據

4. 檢查上傳到服務器的文件,出現數據缺失

5. 檢查python腳本處理替換空值后的文件,檢查源文件,無誤

6. 嘗試scp傳輸處理完的文件到服務器用datax處理,無誤

7. 推測上傳時出現丟包

8. 嘗試了系統里另一個業務相同的上傳邏輯的功能,并沒有丟包問題,繼續排查

9. 開發排查到是由于文件同步過于頻繁(1s/次),在linux中,同時對一個文件進行讀寫操作造成文件部分數據丟失。即寫操作時發現文件被讀操作占用,只能等待,但此操作可能失敗,在讀操作完成后該部分數據即已丟失。


處理方法:

1. 先將文件上傳非同步文件的文件夾,再傳輸到同步文件夾,增加文件同步時間。

2. 對上傳的文件進行處理,在未上傳完成時處理為臨時文件,對于文件同步設置正交條件,臨時文件不進行同步,當上傳完成后再變更為正常文件進行同步。

選擇了第二個解決方法。

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。