Hadoop Streaming作业支持二进制输入吗?
我想把一种格式的二进制文件转换成SequenceFile。
我有一个Python脚本,可以从标准输入读取这种格式,并输出我想要的任何内容。
这个输入格式不是基于行的。每个记录本身就是二进制的,所以输出格式不能用\t来分隔,也不能用\n来换行。
我可以使用Hadoop Streaming接口来处理二进制格式吗?我该如何生成二进制输出格式呢?
我猜答案是“不能”,除非我听到其他的说法。
1 个回答
0
你可以考虑使用 NullWritable 作为输出,然后直接在你的 Python 脚本里生成 SequenceFile。你可以在 GitHub 上查找 hadoop-python 项目,看看里面的代码示例:虽然这个项目的代码量有点大,但它确实可以处理 SequenceFile 的生成。