0

我正在使用 hadoop-lzo 处理大型压缩数据的 MR。实际上我的工作是由工具自动生成的,但这不是问题。我的 lzo 压缩适用于所有节点(尝试过 DistributedLzoIndexer),我还可以使用以下命令行对拆分的 lzo 文件使用流式传输:

hadoop  jar /path/to/jar/hadoop-streaming-1.2.0.1.3.0.0-107.jar \
-input /path/to/testfile.lzo -output wc_test 
-inputformat com.hadoop.mapred.DeprecatedLzoTextInputFormat \
-mapper 'cat' -reducer 'wc -l'

它创建 11 个地图(根据我的文件大小我猜)并正常处理它。但是当我尝试任何其他 jar 文件时,lzo 文件只使用一个映射来处理。所以我的问题是

通常hadoop会根据压缩编解码器使用输入格式吗?我的 hadoop-lzo-0.4.3.jar 在路径中,所以我真的不明白为什么它仍然使用默认的文本格式。

有什么方法可以强制 hadoop 使用 LzoTextInputFormat 吗?

谢谢阅读。

4

0 回答 0