我需要移动看起来像这样的Hive作业写的文件
/foo/0000_0
/foo/0000_1
/bar/0000_0
进入一个看起来像这样的文件结构
/foo/prefix1/prefix2-0000_0
/foo/prefix1/prefix2-0000_1
/bar/prefix1/prefix2-0000_0
将其迁移出群集之前(使用s3distcp)。我一直在寻找hadoop fs,但我找不到能让我这样做的东西。我不想按文件重命名文件。
答案 0 :(得分:1)
首先,您需要在/ foo中创建子目录。为此使用以下命令
$ hdfs dfs -mkdir / foo / prefix1
这将在/ foo中创建一个子目录。如果你想在prefix1中创建更多的子目录,请使用更新的路径结构递归地使用相同的命令。如果你使用旧版本的Hadoop(1.x),用hadoop替换hdfs。
现在您可以使用以下命令将文件从/ foo移动到/ foo / prefix1。这个newfilename可以是您要为文件指定的任何名称。
$ hdfs dfs -mv / foo / filename / foo / prefix1 / newfilename
希望这能回答你的问题