s3distcp srcPattern无法正常工作?

Jul*_*ian 4 hadoop amazon-s3 elastic-map-reduce

我在S3中有这样的文件:

1-2013-08-22-22-something
2-2013-08-22-22-something
etc
Run Code Online (Sandbox Code Playgroud)

没有srcPattern我可以轻松地从桶中获取所有文件,但我想获得一个特定的前缀,例如所有的1.我已经尝试过使用srcPattern,但出于某种原因它没有拿起任何文件.

我目前的命令是:

elastic-mapreduce --jobflow $JOBFLOW --jar /home/hadoop/lib/emr-s3distcp-1.0.jar \
--args '--src,s3n://some-bucket/,--dest,hdfs:///hdfs-input,--srcPattern,[0-9]-.*' \
--step-name "copying over s3 files" 
Run Code Online (Sandbox Code Playgroud)

Jul*_*ian 6

事实证明你需要.*在正则表达式面前

例如,我需要

.*[0-9]-.*
Run Code Online (Sandbox Code Playgroud)

我猜是因为源模式还包括存储桶名称?

  • 这意味着我们可以在完整路径上使用regexp来控制包含的文件,这是个不错的功能,应明确记录在案。 (2认同)