我有一份用Python编写mapreduce的工作。在我把它放在电子病历上之前,我想在本地测试一下。
目前我知道的唯一测试方法是运行命令:
cat input_file | python mapper.py | sort -k 1,1 | python reducer > output_file
但这个管道对我来说有点可怕,因为如果里面有什么东西坏了,我不会知道(除了检查这个命令的退出代码)。
有没有一种更优雅/更Python的方法来运行mapreduce并检查它是否成功运行(这样我就可以捕获特定的异常并处理它)?
感谢
一个显而易见的方法是在本地Hadoop框架中测试代码。例如,您可以在VM中使用Cloudera或Hortonworks提供的打包Hadoop集群。