进来锻炼锻炼你脑袋。
有一个大概10G的文本文件,txt格式存储的。需要统计其中有多少个单词,大概有3W个左右的单词数量。但是相同的单词只计算一次。比如说 hello world ,hello program。就只算3个单词数,hello只算其中一次。
我目前的水平能想到的只有两种最笨的方法。一种就是用自己去解析文本,然后添加之后处理。
另一种是用数据库,用每个单词做主码,增加一个自增ID列,一个一个插进去,之后得到最后的ID就是单词数。
有没有什么好的想法呢?只要想法就行~~,各位大大帮帮忙。
[解决办法]
两种方案
1、分成小文件处理,然后归并
2、对英文单词进行hash,然后使用bitmap统计就行了。
小弟初学大数据。 希望有所帮助
[解决办法]
+1
有兴趣可以看下这里,海量数据处理,讲的满详细的
[解决办法]
第二中效率 应该略高吧。
[解决办法]
怎么保证文件分开的位置没有把单词分开?写代码判断?
[解决办法]
我想,用数据库违背了题目的本意。不符合c程序员的风格。
[解决办法]
分成小文件的目的不是因为内存,而是为了并发。