gpt4 book ai didi

Hadoop DistCp 使用通配符?

转载 作者:可可西里 更新时间:2023-11-01 14:09:25 26 4
gpt4 key购买 nike

是否可以使用 DistCp 仅复制与特定模式匹配的文件?例如。对于/foo 我只想要 *.log 文件。

最佳答案

我意识到这是一个旧线程。但我自己对这个问题的答案很感兴趣——dk89 也在 2013 年再次提出了这个问题。所以我们开始吧:

distcp 不支持通配符。您最接近的做法是:

找到您要复制的文件(源),然后使用 grep 进行过滤,使用 awk 格式化为 hdfs,并将结果输出到“输入文件”列表:

hadoop dfs -lsr hdfs://localhost:9000/path/to/source/dir/ 
| grep -e webapp.log.3. | awk '{print "hdfs\://localhost\:9000/" $8'} > input-files.txt

将输入文件列表放入hdfs

hadoop dfs -put input-files.txt  .

创建目标目录

hadoop dfs -mkdir hdfs://localhost:9000/path/to/target/

使用输入文件列表运行 distcp 并指定目标 hdfs 目录:

hadoop distcp -i -f input-files.txt hdfs://localhost:9000/path/to/target/  

关于Hadoop DistCp 使用通配符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5709063/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com