亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

合并千萬級文件最快的方法是什么

合并千萬級文件最快的方法是什么

Go
楊__羊羊 2023-01-03 16:55:33
有5000萬個文件,存儲在一臺ubuntu電腦上,我想把這5000萬合并成幾個大文件,怎么最快?目前我已經filename.txt通過ls -1命令保存了要處理的文件名我嘗試編寫一個讀取文件的 go 程序,然后將輸出讀取到文件中,但我發現它太慢了。實際閱讀速度合并30-40個文件1s左右,16天以上才能讀完。有什么快速合并的好方法嗎?執行輸出:start:2022-07-22 05:03:09file names = ***out dir = ***read 9057/50803783(0.02%), file=0/48151629, speed=40/s  time 3m41s觀察系統讀寫:read: 4 M/s ~ 9 M/s我也試過用awkandcat命令,效果和go差不多。head ~/filename.txt -n 10000 | xargs awk '1' >> ~/out/0sed -i '1,10000d' ~/filename.txt
查看完整描述

1 回答

?
桃花長相依

TA貢獻1860條經驗 獲得超8個贊

我會在這里使用單獨的工具:cat用于連接現有內容,以及split用于創建具有所需輸出大小的塊。例如:

cat filename.txt | xargs cat | split -b 1M

對于一百萬個測試文件,它在我的 PC 上以大約 100K 文件/秒的速度運行,因此它將在 10 分鐘內完成 50M 文件。不過,我確實在 tmpfs 上運行過它,而且每個文件只有 4 個字節。

所以,這些數字反映了最好的情況。如果磁盤(或文件系統)速度是您的瓶頸,那么我認為您無能為力。不過,我不希望您的設置將運行時間從十分鐘增加到兩周:)


查看完整回答
反對 回復 2023-01-03
  • 1 回答
  • 0 關注
  • 110 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號