在hadoop中读取100gb xml文件

时间:2014-07-23 15:28:34

标签: xml file hadoop

我正在编写hadoop中的一种字数(目前在vmware播放器上运行的独立伪分布式虚拟机上)。

我有一个巨大的100GB xml文件要读取(接近1.25亿行)。我逐行读取它,对于每个单词我把它放在FileHashMap中,其中key是单词,value是occurrency。

我使用标准的BufferedReader来读取文件,但它太懒散了,所以我开始使用apache commons io库来读取文件,它真的比之前更快,

LineIterator it = FileUtils.lineIterator(theFile, "UTF-8");
try {
    while (it.hasNext()) {
        String line = it.nextLine();
        // do something with line
    }
} finally {
    LineIterator.closeQuietly(it);
}

但是迟早(接近4千万行),它变得又慢了(我想在内存耗尽时换掉高清......我是对的吗?)

所以问题是:我已经离开哪个解决方案(配置,数据结构......)来解决问题了?

0 个答案:

没有答案