【问题标题】:File Renaming in HDFSHDFS 中的文件重命名
【发布时间】:2025-11-27 15:25:01
【问题描述】:

我将一个名为 A1 的特定文件放在 hdfs 目录中,并希望在运行我的 shell 脚本时多次执行此过程,但是当我将文件放在 hdfs 目录中时,我想重命名该 A1 文件,并且每次重命名都应该与众不同,我该怎么做。

场景:我有一个文件名 A1,一旦完成所有操作,我将保存在 hdfs 目录名 completed_data 中的文件,因为我正在使用 shell 脚本和调度程序运行此过程在一段时间后发生,相同的文件名 A1 不能存在于同一目录中,所以我想每次都用不同的名称重命名 A1。

谢谢

【问题讨论】:

  • 用文件名和时间戳或进程ID或从/dev/random获得的一些随机数重命名
  • 你能写出命令吗,因为它可以帮助我更好地理解。
  • hadoop fs -mv A1 A1+$RANDOM 使用它重命名文件并复制新的 A1

标签: shell hadoop cron cloudera


【解决方案1】:

我给出了普通mv 的例子。您可以根据自己的 hadoop 环境进行更改。

使用 $RANDOM(由 @Backtrack 评论):

mv A1 A1_${RANDOM}

使用date 命令:

mv A1 A1_$(date +%N)

使用mktemp

mv A1 $(mktemp --tmpdir=/dir/where/you/want A1_XXX)

【讨论】: