我需要将多个文件传递给hadoop流式传输作业。根据doc,-file选项也会将目录作为输入。但它似乎没有用。 reducer抛出一个找不到文件的错误。其他选项是使用-file选项单独传递每个文件,考虑到我有100个文件,这个选项并不是最优的。还有一个选项是压缩文件并将其作为tarball传递并在reducer中解压缩
还有其他更好的选择吗?
理想情况下,我只想将目录作为值传递给-file参数,因为hadoop文档建议-file接受目录
答案 0 :(得分:0)
你确定你的意思是reducer会抛出一个找不到文件的错误吗?这听起来更像是用户无法读取结果文件夹的问题,如果它是减速器抛出错误。
-file肯定适用于目录,我有一个hadoop流式传输作业,它接受一个目录并运行该文件夹中的6个文件。
请记住,为-file命令提供的路径是HDFS中的路径,因此请使用ls命令确保路径正确。
最后,确保您有权使用您正在使用的用户来运行作业来读取目录。虽然如果您没有权限,我不确切知道您会得到什么错误,但可能是“找不到文件”错误。