通过使用 shell 脚本过滤修改日期,将文件从 hdfs 文件夹复制到另一个 hdfs 位置

安东尼

我的 hdfs 位置有 1 年的数据,我想将过去 6 个月的数据复制到另一个 hdfs 位置。是否可以直接从 hdfs 命令复制 6 个月的数据,或者我们是否需要编写 shell 脚本来复制过去 6 个月的数据?

我已经尝试过 hdfs 命令来执行此操作,但没有奏效。

我尝试使用下面的 shell 脚本,它运行良好,直到创建 TempFile 但抛出错误

$ sh scriptnew.sh
scriptnew.sh: line 8: syntax error: unexpected end of file

并且脚本不会进一步执行。

下面是我使用的shell脚本。

#!/bin/bash
hdfs dfs -ls /hive/warehouse/data.db/all_history/ |awk 'BEGIN{ SIXMON=60*60*24*180; "date +%s" | getline NOW } { cmd="date -d'\''"$6" "$7"'\'' +%s"; cmd | getline WHEN; DIFF=NOW-SIXMON; if(WHEN > DIFF){print $8}}' >> TempFile.txt
cat TempFile.txt |while read line
do
    echo $i
    hdfs dfs -cp -p $line /user/can_anns/all_history_copy/;
done

可能是什么错误以及如何解决这个问题?

安东尼

要将 6 个月的文件从 hdfs 位置复制到另一个位置,我们可以使用以下脚本。

脚本应该从您的本地 linux 位置运行。

#!/bin/bash
hdfs dfs -ls /hive/warehouse/data.db/all_history/ |awk 'BEGIN{ SIXMON=60*60*24*180; "date +%s" | getline NOW } { cmd="date -d'\''"$6" "$7"'\'' +%s"; cmd | getline WHEN; DIFF=NOW-SIXMON; if(WHEN > DIFF){print $8}}' >> TempFile.txt
cat TempFile.txt |while read line
do
   echo $i
   hdfs dfs -cp -p $line /user/can_anns/all_history_copy/;
done

第 2 行:我们将最多 180 天的文件列表复制到 TempFile。然后我们遍历这个临时文件,如果找到匹配,则复制该文件。

如果您正在从 Windows 编写脚本并复制到 linux 机器,有时它可能无法工作并显示语法错误。为避免回车错误,将脚本复制到 linux 机器本地路径后,运行以下命令。sed -i 's/\r//'然后运行脚本 >>> sh FileName.sh

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将许多文件从hdfs移到hdfs

来自分类Dev

使用Java将文件从一个文件夹复制到另一个文件夹

来自分类Dev

使用Groovy将文件从一个文件夹复制到另一个文件夹

来自分类Dev

如何使用Flume将一组csv文件从本地目录复制到HDFS

来自分类Dev

使用上下文变量将文件从一个文件夹复制到另一个文件夹中

来自分类Dev

使用python将某些文件从一个文件夹复制到另一个文件夹

来自分类Dev

将Solr HDFS数据复制到另一个群集

来自分类Dev

如何使用Java API将文件从一个HDFS文件夹复制到另一个HDFS文件夹?

来自分类Dev

使用OOZIE将文件从HDFS的一个目录移动到HDFS的另一目录?

来自分类Dev

使用python将文件复制到另一个文件夹

来自分类Dev

如何使用Python将zipfile从一个文件夹复制到另一个文件夹

来自分类Dev

AppleScript-将文件夹从一个位置复制到另一个位置时,排除某些文件

来自分类Dev

使用python将具有特定名称的文件从一个文件夹复制到另一个文件夹

来自分类Dev

使用Apps脚本在云端硬盘上将文件从一个文件夹复制到另一个文件夹

来自分类Dev

与Shell无关的将cp点文件从一个文件夹复制到另一个文件的方法

来自分类Dev

Shell脚本可将带有日期的特定文件从一个文件夹复制到另一个文件夹

来自分类Dev

使用随机前缀将文件从一个文件夹复制到另一个文件夹

来自分类Dev

同步两个文件夹,成功后将一个文件从一个位置复制到另一个

来自分类Dev

如何使用Java将文件从一个文件夹复制到另一个文件夹?

来自分类Dev

使用Julia语言将文件复制到HDFS

来自分类Dev

使用Shutil将文件从一个文件夹复制到另一个文件夹

来自分类Dev

如何使用Java API将文件从一个HDFS文件夹复制到另一个HDFS文件夹?

来自分类Dev

使用Shell脚本将文件从一个文件夹复制到另一个文件夹

来自分类Dev

通过使用Shell脚本以修改后的日期进行过滤,将文件从hdfs文件夹复制到另一个hdfs位置

来自分类Dev

在文件夹中搜索文件名并将项目复制到另一个位置

来自分类Dev

[Unix][Shell Script] 将一个文件夹中的所有文件复制到另一个文件夹

来自分类Dev

通过排除具有特定名称的所有子文件夹将文件夹复制到另一个位置

来自分类Dev

使用python仅将更新/新文件从一个文件夹复制到另一个文件夹

来自分类Dev

使用 robocopy 将 zip 文件从一个文件夹复制到另一个文件夹的语法问题

Related 相关文章

  1. 1

    将许多文件从hdfs移到hdfs

  2. 2

    使用Java将文件从一个文件夹复制到另一个文件夹

  3. 3

    使用Groovy将文件从一个文件夹复制到另一个文件夹

  4. 4

    如何使用Flume将一组csv文件从本地目录复制到HDFS

  5. 5

    使用上下文变量将文件从一个文件夹复制到另一个文件夹中

  6. 6

    使用python将某些文件从一个文件夹复制到另一个文件夹

  7. 7

    将Solr HDFS数据复制到另一个群集

  8. 8

    如何使用Java API将文件从一个HDFS文件夹复制到另一个HDFS文件夹?

  9. 9

    使用OOZIE将文件从HDFS的一个目录移动到HDFS的另一目录?

  10. 10

    使用python将文件复制到另一个文件夹

  11. 11

    如何使用Python将zipfile从一个文件夹复制到另一个文件夹

  12. 12

    AppleScript-将文件夹从一个位置复制到另一个位置时,排除某些文件

  13. 13

    使用python将具有特定名称的文件从一个文件夹复制到另一个文件夹

  14. 14

    使用Apps脚本在云端硬盘上将文件从一个文件夹复制到另一个文件夹

  15. 15

    与Shell无关的将cp点文件从一个文件夹复制到另一个文件的方法

  16. 16

    Shell脚本可将带有日期的特定文件从一个文件夹复制到另一个文件夹

  17. 17

    使用随机前缀将文件从一个文件夹复制到另一个文件夹

  18. 18

    同步两个文件夹,成功后将一个文件从一个位置复制到另一个

  19. 19

    如何使用Java将文件从一个文件夹复制到另一个文件夹?

  20. 20

    使用Julia语言将文件复制到HDFS

  21. 21

    使用Shutil将文件从一个文件夹复制到另一个文件夹

  22. 22

    如何使用Java API将文件从一个HDFS文件夹复制到另一个HDFS文件夹?

  23. 23

    使用Shell脚本将文件从一个文件夹复制到另一个文件夹

  24. 24

    通过使用Shell脚本以修改后的日期进行过滤,将文件从hdfs文件夹复制到另一个hdfs位置

  25. 25

    在文件夹中搜索文件名并将项目复制到另一个位置

  26. 26

    [Unix][Shell Script] 将一个文件夹中的所有文件复制到另一个文件夹

  27. 27

    通过排除具有特定名称的所有子文件夹将文件夹复制到另一个位置

  28. 28

    使用python仅将更新/新文件从一个文件夹复制到另一个文件夹

  29. 29

    使用 robocopy 将 zip 文件从一个文件夹复制到另一个文件夹的语法问题

热门标签

归档