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