首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

进去锻炼锻炼你脑袋

2013-10-15 
进来锻炼锻炼你脑袋。有一个大概10G的文本文件,txt格式存储的。需要统计其中有多少个单词,大概有3W个左右的

进来锻炼锻炼你脑袋。
有一个大概10G的文本文件,txt格式存储的。需要统计其中有多少个单词,大概有3W个左右的单词数量。但是相同的单词只计算一次。比如说 hello world ,hello program。就只算3个单词数,hello只算其中一次。

我目前的水平能想到的只有两种最笨的方法。一种就是用自己去解析文本,然后添加之后处理。
另一种是用数据库,用每个单词做主码,增加一个自增ID列,一个一个插进去,之后得到最后的ID就是单词数。

有没有什么好的想法呢?只要想法就行~~,各位大大帮帮忙。

[解决办法]
两种方案
1、分成小文件处理,然后归并
2、对英文单词进行hash,然后使用bitmap统计就行了。

小弟初学大数据。 希望有所帮助
[解决办法]

引用:
两种方案
1、分成小文件处理,然后归并
2、对英文单词进行hash,然后使用bitmap统计就行了。

小弟初学大数据。 希望有所帮助

+1

有兴趣可以看下这里,海量数据处理,讲的满详细的
[解决办法]
第二中效率 应该略高吧。
[解决办法]
引用:
两种方案
1、分成小文件处理,然后归并
2、对英文单词进行hash,然后使用bitmap统计就行了。

小弟初学大数据。 希望有所帮助


怎么保证文件分开的位置没有把单词分开?写代码判断?
[解决办法]
我想,用数据库违背了题目的本意。不符合c程序员的风格。
[解决办法]
引用:
Quote: 引用:

两种方案
1、分成小文件处理,然后归并
2、对英文单词进行hash,然后使用bitmap统计就行了。

小弟初学大数据。 希望有所帮助


谢谢。分成小文件可能就不需要了。因为内存有200G左右。

分成小文件的目的不是因为内存,而是为了并发。

热点排行