1. 利用Hadoop提供的Shell命令完成下列任务
-
(1)向HDFS中上传任意文本文件,如果指定的文件在HDFS中已经存在,由用户指定是追加到原有文件末尾还是覆盖原有的文件。
#检查文件是否存在
./bin/hdfs dfs -test -e text.txt
echo $? #结果是1 代表已存在
#根据结果判断出文件已存在,则追加到cwn.txt文件末尾
./bin/hdfs dfs -appendToFile cwn.txt text.txt
-
(2)从HDFS中下载指定文件,如果本地文件与要下载的文件名称相同,则自动对下载的文件重命名
if $(hdfs dfs -test -e file:///home/hadoop/text.txt);
then $(hdfs dfs -copyToLocal text.txt ./text.txt);
else $(hdfs dfs -copyToLocal text.txt ./evil.txt);
fi
-
(3)将HDFS中指定文件的内容输出到终端中。
hdfs dfs -cat text.txt
-
(4)显示HDFS中指定的文件的读写权限、大小、创建时间、路径等信息;执行下列命令。
hdfs dfs -ls -h text.txt
-
(5)给定HDFS中某一个目录,输出该目录下的所有文件的读写权限、大小、创建时间、路径等信息,如果该文件是目录,则递归输出该目录下所有文件相关信息。
./bin/hdfs dfs -ls -R -h /user/hadoop