我正在尝试使用自定义 jar 在 Elastic MapReduce (EMR) 上运行作业。我正在尝试在单个目录中处理大约 1000 个文件。当我使用参数提交作业时s3n://bucketname/compressed/*.xml.gz
,我收到“匹配 0 个文件”错误。如果我只传递一个文件的绝对路径(例如s3n://bucketname/compressed/00001.xml.gz
),它运行良好,但只有一个文件得到处理。我尝试使用目录的名称 ( s3n://bucketname/compressed/
),希望其中的文件将被处理,但这只是将目录传递给作业。
同时,我有一个较小的本地 hadoop 安装。在那里,当我使用通配符 ( /path/to/dir/on/hdfs/*.xml.gz
) 通过我的工作时,它工作正常并且所有 1000 个文件都正确列出。
如何让 EMR 列出我的所有文件?