gpt4 book ai didi

streaming - Hadoop流忽略非常大的记录

转载 作者:行者123 更新时间:2023-12-02 21:58:11 25 4
gpt4 key购买 nike

我有一个hadoop流程序,如果传入的行太大(超过20M左右),则reader.readline()具有OutOfMemoryException。有没有办法告诉hadoop不要传递超过一定大小的记录?太大的记录是百万分之一。我宁愿不使用跳过不良记录选项...

我也尝试使用此代码http://code.google.com/p/owasp-esapi-java/issues/attachmentText?id=183&aid=-7134623167843514645&name=BoundedBufferedReader.java代替reader.readline(),但是它太慢了,我认为是因为它一次只能读取一个字符。

最佳答案

这不是Hadoop的问题,而是您阅读该行的方式的问题。
reader.readline()可能一次读取一个字符,因为它需要找出行尾在哪里。因此,逐个字符地检查可能不会慢很多。您可以一次读取一个字符,然后将其推回到某种列表或缓冲区中。如果时间太长,请忽略该行并继续前进。看到换行符后,就可以使用了。

关于streaming - Hadoop流忽略非常大的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6527840/

25 4 0