-put 并-copyFromLocal记录为相同,而大多数示例使用详细变量-copyFromLocal.为什么?
同样的事情-get和-copyToLocal
Tho*_*lut 38
让我们举一个例子:如果您的HDFS包含路径:/tmp/dir/abc.txt
如果您的本地磁盘也包含此路径,那么hdfs API将不知道您的意思,除非您指定类似file://或的方案hdfs://.也许它选择了你不想复制的路径.
因此-copyFromLocal,通过限制您为本地文件系统提供的参数,您可以防止意外复制错误的文件.
Put 适用于了解哪种方案可以放在前面的更高级用户.
新Hadoop用户总是有点混淆他们当前所在的文件系统以及他们的文件实际位置.
Syl*_*oux 19
尽管什么是文件声称,截至目前(10月2015),都-copyFromLocal和-put是相同的.
从在线帮助:
[cloudera@quickstart ~]$ hdfs dfs -help copyFromLocal
-copyFromLocal [-f] [-p] [-l] <localsrc> ... <dst> :
Identical to the -put command.
Run Code Online (Sandbox Code Playgroud)
通过查看源代码可以确认这一点,您可以看到CopyFromLocal类扩展了Put类,但没有添加任何新行为:
public static class CopyFromLocal extends Put {
public static final String NAME = "copyFromLocal";
public static final String USAGE = Put.USAGE;
public static final String DESCRIPTION = "Identical to the -put command.";
}
public static class CopyToLocal extends Get {
public static final String NAME = "copyToLocal";
public static final String USAGE = Get.USAGE;
public static final String DESCRIPTION = "Identical to the -get command.";
}
Run Code Online (Sandbox Code Playgroud)
你可能会注意到,这与get/ 完全相同copyToLocal.
| 归档时间: |
|
| 查看次数: |
47991 次 |
| 最近记录: |