1
4
你的大绳子是从哪里来的?就像你说你读过的,我猜它来自一个文件。你必须知道整根弦才能知道在哪里把它分开吗?如果没有,你可以一个字符一个字符地读取文件,直到找到一个拆分标记,把所有读到的字符放在一个字符串中,然后开始读取下一个字符串。你能大致知道你刚读到的一个字符串在哪里排序吗?如果是这样,您可以在第一次运行时将部分字符串写入单独的文件(例如,当您按字母顺序排序字符串时,以go to A.tmp开头的所有字符串)。之后,您可以对创建的文件的内容进行排序(希望现在小到可以放入内存),最后将内容附加到新的输出文件中。 |
2
2
|
3
1
如果您想让Hadoop“逐行”处理100gib的apache日志文件,那么您实际上是在做您想要做的事情:将大量的文本分割成几段。 TextInputFormat 它使用 LineRecordReader 它使用 LineReader 在“行尾”分隔符上拆分文本文件。你想要的基本上是一样的,但有一点不同:在不同的事情上分裂。 See the Hadoop example the explanation in Tom's book ). 所以我建议你
|
4
0
|