【发布时间】:2019-07-08 22:45:32
【问题描述】:
有没有办法使用命令行从 HDFS 获取前两个文件?我的hadoop版本是2.7.3
我在 HDFS 中有一个包含多个文件的文件夹,另一个应用程序将其放在那里: /user/Lab01/inpu/ingestionFile1.json /user/Lab01/inpu/ingestionFile2.json /user/Lab01/inpu/ingestionFile3.json /user/Lab01/inpu/ingestionFile4.json
我只需要根据时间处理前两个文件,所以如果列出内容使用:
$ hdfs dfs -ls -R /user/Lab01/input
-rw------- 3 huser dev 668 2019-02-13 11:34 /user/Lab01/inpu/ingestionFile1.json
-rw------- 3 huser dev 668 2019-02-13 11:36 /user/Lab01/inpu/ingestionFile2.json
-rw------- 3 huser dev 668 2019-02-13 11:38 /user/Lab01/inpu/ingestionFile3.json
-rw------- 3 huser dev 668 2019-02-13 11:41 /user/Lab01/inpu/ingestionFile4.json
为了从目录中获取前两个文件,我简单地使用 head -2 命令来获取:
$ hdfs dfs -ls -R /user/Lab01/input | head -2
-rw------- 3 huser dev 668 2019-02-13 11:34 /user/Lab01/inpu/ingestionFile1.json
-rw------- 3 huser dev 668 2019-02-13 11:36 /user/Lab01/inpu/ingestionFile2.json
从 hdfs 获取文件的常规命令是使用 -get:
hdfs dfs -get /user/Lab01/input/fileName
这就是我现在尝试合并这两个命令的原因:
$ hdfs dfs -get /user/Lab01/input | hdfs dfs -ls -R /user/Lab01/input | head -2
但我没有得到想要的结果,我只是收到一条消息,告诉我最后一个命令的输出 (hdfs dfs -ls -R /user/Lab01/input | head -2):
-rw------- 3 huser dev 668 2019-02-13 11:34 /user/Lab01/inpu/ingestionFile1.json
-rw------- 3 huser dev 668 2019-02-13 11:36 /user/Lab01/inpu/ingestionFile2.json
【问题讨论】:
-
知道了,我正在编辑问题
标签: bash hadoop command-line hdfs