我在這裏的「大數據處理」裏面比較新,希望能找到一些關於如何處理50 GB csv文件的建議。目前的問題是以下幾點:如何處理r語言中的50GB大型csv文件?
表看起來像是:
ID,Address,City,States,... (50 more fields of characteristics of a house)
1,1,1st street,Chicago,IL,...
# the first 1 is caused by write.csv, they created an index raw in the file
我想找到屬於是加利福尼亞州舊金山的所有行它應該是一個簡單的問題,但是csv太大了。
我知道我有R中做這件事的兩種方式,並另一種方式來使用數據庫來處理:
(1)基於R的ffdf包:
自最後一次保存文件,它正在使用write.csv,它包含所有不同的類型。
all <- read.csv.ffdf(
file="<path of large file>",
sep = ",",
header=TRUE,
VERBOSE=TRUE,
first.rows=10000,
next.rows=50000,
)
控制檯使我這個:
Error in ff(initdata = initdata, length = length, levels = levels, ordered = ordered,
: vmode 'character' not implemented
通過網上搜索,我發現了幾個答案這不適合我的情況,我真的不能做「性格」的如何轉移的意義進入他們提到的「因素」類型。
然後我試着用read.table.ffdf,這更是災難。我無法找到一個堅實的指導。
(2)基於R的的ReadLine:
我知道這又是一個好辦法,但無法找到一個effecient的方式來做到這一點。
(3)使用SQL:
我不知道如何將文件傳輸到SQL版本,以及如何處理這個問題,如果有一個很好的指導,我想試試。但總的來說,我想堅持R.
感謝您的回覆和幫助!
看看[這個答案](http://stackoverflow.com/questions/23197243/how-do-i-read-only-lines-that-fulfil-a-condition-from-a-csv-into- r)有幫助。 –
在v。類似的脈絡^ ^鏈接http://stackoverflow.com/questions/26861951/using-read-csv-sql-to-select-multiple-values-from-a-single-column – user20650
虐待檢查出來謝謝! – windsound