hadoop fs -put filename hdfs
这个时候,如果hdfs文件目录已经存在,此时则会将file放在hdfs/下的,而如果hdfs文件目录不存在,则把file/*的文件放在目录下,即此时hdfs目录下不存在filename.
比如 hadoop fs -put /home/test/20121127 /user/test/data/
此时,如果 /user/test/data/ 不存在,则在put时,会把/home/test/20121127下面的文件拷贝到该目录下。如果/home/test/20121127/0000*.lzo 则,此时 /user/test/data/ 下是 /user/test/data/00000*.lzo 而没有20121127这个目录了。但是,如果存在 /user/test/data/ 这个目录了,这个时候就是 /user/test/data/ 20121127/0000*.lzo了。
因此,需要先判断一下是否存在这个目录了,如果不存在,则mkdir一下,然后再put。否则会和你想要的不一样啊……
NND,最近老犯错误……
本文详细解析了HadoopFS put命令的工作机制,特别是如何处理目标HDFS路径存在与否的情况,并提供了具体的示例说明。对于使用Hadoop进行文件上传操作的用户来说,了解这些细节有助于避免常见的误操作。
474

被折叠的 条评论
为什么被折叠?



