我在amazons3上有一个满是gzip文本文件的目录,我正在尝试使用amazonelasticmapreduce上的hadoop流来分别对每个文件应用一个函数(特别是解析一个多行头)。默认的hadoop流“每行都是记录”格式在这里不起作用。
我的尝试是将-input设置为列出每个gzip文件的s3路径的文本文件,然后在Map器中使用“hadoop fs-get”或“hadoop fs-copytolocal”将文件复制到工作节点,然后在整个文件上运行函数。但是,这样做会导致步骤失败,并出现“permission denied”错误。
我猜这与dfs.permissions.enabled变量有关,但我没有任何运气通过hadoop安装引导接口传递这些变量。
有人知道是什么导致了错误以及如何修复它吗?或者,如果有其他方法可以使用emr(或其他amazon工具)将函数应用于整个文件,我也愿意使用这些方法。谢谢!
1条答案
按热度按时间lvjbypge1#
这可能是由于对要复制文件的工作节点上的文件夹的权限有限。请检查权限。
另外,如果您共享完整的日志也会有所帮助。