gz文件是由一个名为gzputs&gzwrite的c程序编写的。我列出了压缩文件的内容 gzip -l ,并找到 uncompressed 值不正确。这个值似乎等于最新的 gzputs 或者 gzwrite 写入.gz文件。这使得 ratio 否定的价值观。将这些.gz文件用作map/reduce的输入时出错。在Map阶段只能读取.gz文件的一部分(零件的尺寸似乎与上述相同 uncompressed 值)。有人可以教我在c程序或map/reduce中应该做什么?
gzip -l
uncompressed
gzputs
gzwrite
ratio
798qvoo81#
问题解决了。map/reduce中的读取错误似乎是gzipinputstream的一个bug。我在网上找到了一个类似gzipinputstream的类,它可以正确地读取gz文件。然后我在hadoop中扩展并定制了textinputformat和linerecordreader。现在可以了。
1条答案
按热度按时间798qvoo81#
问题解决了。map/reduce中的读取错误似乎是gzipinputstream的一个bug。
我在网上找到了一个类似gzipinputstream的类,它可以正确地读取gz文件。然后我在hadoop中扩展并定制了textinputformat和linerecordreader。现在可以了。