首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >s3distcp的多个源文件

s3distcp的多个源文件
EN

Stack Overflow用户
提问于 2014-10-09 07:58:21
回答 2查看 4.3K关注 0票数 0

是否有方法将文件列表从S3复制到hdfs,而不是使用s3distcp复制完整文件夹?这是srcPattern无法工作的时候。

我在一个s3文件夹上有多个文件,它们都有不同的名称。我只想将特定的文件复制到hdfs目录中。我没有找到任何方法来指定到s3distcp的多个源文件路径。

我目前使用的解决方法是告诉srcPattern中的所有文件名。

代码语言:javascript
复制
hadoop jar s3distcp.jar
    --src s3n://bucket/src_folder/
    --dest hdfs:///test/output/
    --srcPattern '.*somefile.*|.*anotherone.*'

当文件数量太多时,这个东西能工作吗?大约一万?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-12-08 17:30:53

是的你可以。创建一个清单文件,其中包含您需要的所有文件,并使用--如前面提到的这里 --copyFromManifest选项

票数 3
EN

Stack Overflow用户

发布于 2014-10-21 11:48:17

hadoop应该可以解决您的问题。我们可以使用distcp将数据从s3复制到hdfs。

它还支持通配符,我们可以在命令中提供多个源路径。

http://hadoop.apache.org/docs/r1.2.1/distcp.html

查看这个特定url中的使用部分。

示例:假设您在s3存储桶(测试桶)中的test1文件夹中有以下文件。

代码语言:javascript
复制
abc.txt
abd.txt
defg.txt

在test2文件夹中

代码语言:javascript
复制
hijk.txt
hjikl.txt
xyz.txt

您的hdfs路径是hdfs://localhost.localdomain:9000/user/test/

然后,distcp命令如下所示,用于特定的模式。

代码语言:javascript
复制
hadoop distcp s3n://test-bucket/test1/ab*.txt \ s3n://test-bucket/test2/hi*.txt hdfs://localhost.localdomain:9000/user/test/
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26273181

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档