來源:北大青鳥飛迅校區(qū)|發(fā)布時間:2013-04-17 16:44:52
在這個云計算熱炒的時代,如果你沒有處理過海量數據的話,你將不再是個合格的Coder。現在趕緊補補吧~
前一陣子分析了一個將近1TB的數據群(gz文件,壓縮率10%)。因為第一次分析如此巨大的數據,沒有經驗,所以浪費了許多時間。下面是我整理的一些經驗,方便后者。
歡迎各種補充,我會不斷更新這篇文章;覺得有用的話,速度分享鏈接;有不同意見的話,請果斷拍磚;
下載數據
Q:怎么自動下載多個文件?
這是我遇到的第一個問題。當數據量很大時,一般都會分成很多個文件存放。這時下載文件比較麻煩。
A:用Wget命令。Windows下花費一點時間去下載安裝。但之于手動下載,能省不少時間。
我提供兩種方式方式下載文件,
a)用Wget的遞歸下載選項 “-r”。一般命令如下
wget –r http://<下載數據的根目錄>/ -o <下載記錄文件名> -np
因為遞歸下載沒法控制進度,所以建議不一要次遞歸下載太多的文件
b)用Bat+Wget,多次執(zhí)行Wget。一般命令如下
wget –r http://<下載數據的根目錄分支1>/ -o <下載記錄文件名> -np
wget –r http://<下載數據的根目錄分支2>/ -o <下載記錄文件名> -np
wget –r http://<下載數據的根目錄分支3>/ -o <下載記錄文件名> -np
…… ……
wget –r http://<下載數據的根目錄分支N>/ -o <下載記錄文件名> -np
用Bat可以降低出錯帶來的影響。
另外,Wget可以通過 –A 選項來指定希望下載的文件的后輟,通過 –P 選項來指定下載文件存放路徑。更多命令,參見wget -h
Q:這速度。。。什么時候才能下完?
網速永遠是個瓶頸
A:如果下載服務很遠的話,你應該考慮代理。wget設置代理的方式如下
set http_proxy=http://<代理服務器>
不要忘了多開幾個進程,20個試試?
打開文件
Q:怎么打開文本文件
這不是弱智問題。你用記事本打開一個1000MB的文件試試
A:LTF viewer
Large Text File viewer, 打開速度會讓你驚奇
Q:怎么打開二進制文件
A:Hex Editor Neo
你可以通過下面方式來選擇進制:
右擊數據區(qū) => Display As => Hex|Decimal|Octal|Binary|Float|Double
你可以通過下面方式來選擇按多少字節(jié)顯示:
右擊數據區(qū) => Group By => Bytes|Words|Double|Quad
編程語言
當數據量很大時,選擇語言要慎重了。因為不同語言有不同的特點,你要在編程時間和運行時間之間權衡。
模型測試
開始時,一般挑幾個小的數據進行測試,獲取第一份分析結果。這時當然希望能快速編程實現。腳本語言是一個很好的選擇,比如Python。
招生熱線: 4008-0731-86 / 0731-82186801
學校地址: 長沙市天心區(qū)團結路6號
Copyright © 2006 | 湖南大計信息科技有限公司 版權所有
湘ICP備14017520號-3