我在这里的“大数据处理”里面比较新,希望能找到一些关于如何处理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