以下是 HDFS 常见的操作命令,包括 list、put、get、rm、mkdir 等文件的列举、上传、下载、删除、创建目录等。
sudo su emr source ~/.profile
hdfs dfs -ls <path>
hdfs dfs -put <local file> <hdfs file> #example: hdfs dfs -put testFile /input/testFile #把当前本地目录下的testFile文件上传到HDFS /input目录下,并命名为testFile
hdfs dfs -get <hdfs file> <local file or dir>
本地文件(local file)和 HDFS 文件(hdfsfile)的名字不能相同,否则会提示文件已存在,没有重名的文件会被复制到本地。
如果需要将多个文件或目录拷贝到本地时,本地应为文件夹路径:
hdfs dfs -get <hdfs file or dir> ... <local dir>
hdfs dfs -rm <hdfs file> hdfs dfs -rm -r <hdfs dir>
hdfs dfs -cat <hdfs file>
hdfs dfs -mkdir <hdfs path>
需要注意的是,待创建的子目录的父目录必须存在,如果父目录不存在的话使用这个命令会报错。
当使用以下命令创建目录时,如果父目录不存在,则会自动创建:
hdfs dfs -mkdir -p <hdfs path>
hdfs dfs -cp <hdfs file> <hdfs file>
hdfs dfs -mv <hdfs file> <hdfs file>
hdfs dfs -chmod -R mode <hdfs file or dir> #example: hdfs dfs -chmod -R 777 /usr
hdfs dfs -du URI [URI …]
关于 HDFS 命令的更多详细介绍,请参见 Apache Hadoop 社区文档。