实验
2
熟悉常用?/p>
HDFS
操作实验手册
主讲教师:刘?/p>
?/p>
1
?/p>
实验
2
熟悉常用?/p>
HDFS
操作
1
实验目的
1.
理解
HDFS
?/p>
Hadoop
体系结构中的角色?/p>
2.
熟练使用
HDFS
操作常用?/p>
Shell
命令?/p>
3.
熟悉
HDFS
操作常用?/p>
Java API
?/p>
2
实验平台
操作系统?/p>
Linux
Hadoop
版本?/p>
2.6.0
或以上版?/p>
JDK
版本?/p>
1.6
或以上版?/p>
Java IDE
?/p>
Eclipse
3
实验内容和要?/p>
1.
编程实现以下指定功能,并利用
Hadoop
提供?/p>
Shell
命令完成相同任务?/p>
提示?/p>
1)
部分
Shell
命令的参数路径只能是本地路径或?/p>
HDFS
路径?/p>
2)
?/p>
Shell
命令的参数既可以是本地路径,也可以是
HDFS
路径时,务必注意区分。为?/p>
证操作正确,可指定路径前缀
hdfs:///
或?/p>
file:///
3)
注意区分相对路径与绝对路?/p>
4)
具体命令的说明可参考教材或
http://hadoop.apache.org/docs/stable/hadoop-project-dist/had
oop-common/FileSystemShell.html
?/p>
1
?/p>
?/p>
HDFS
中上传任意文本文件,如果指定的文件在
HDFS
中已经存在,由用?
指定是追加到原有文件末尾还是覆盖原有的文件;
Shell
命令
:
检查文件是否存?/p>
: ./hdfs dfs -test -e text.txt(
执行完这一句不会输出结果,需要继续输入命?/p>
" echo $?"
)
追加命令
: ./hdfs dfs -appendToFile local.txt text.txt
覆盖命令
1: ./hdfs dfs -copyFromLocal -f local.txt text.txt
覆盖命令
2: ./hdfs dfs -cp -f file:///home/hadoop/local.txt text.txt
也可以使用如下命令实现:
(如下代码可视为一行代码,在终端中输入第一行代码后,直到输?/p>
fi
才会真正执行):
if $(./hdfs dfs -test -e text.txt);
then $(./hdfs dfs -appendToFile local.txt text.txt);
else $(./hdfs dfs -copyFromLocal -f local.txt text.txt);
fi
Java
代码?/p>
import org.apache.hadoop.conf.Configuration;