HDFS文件上传流程
操作HDFS的基本命令
1) 打印文件列表
标准写法:
hadoop fs -ls hdfs:/#hdfs: 明确说明是HDFS系统路径
简写:
hadoop fs -ls /#默认是HDFS系统下的根目录
打印指定子目录:
hadoop fs -ls /package/test/#HDFS系统下某个目录
2) 上传文件、目录(put、copyFromLocal)
put用法:
上传新文件:
hdfs fs -put file:/root/test.txt hdfs:/ #上传本地test.txt文件到HDFS根目录,HDFS根目录须无同名文件,否则“File exists”
hdfs fs -put test.txt /test2.txt #上传并重命名文件。
hdfs fs -put test1.txt test2.txt hdfs:/ #一次上传多个文件到HDFS路径。
上传文件夹:
hdfs fs -put mypkg /newpkg #上传并重命名了文件夹。
覆盖上传:
hdfs fs -put -f /root/test.txt / #如果HDFS目录中有同名文件会被覆盖
copyFromLocal用法:
上传文件并重命名:
hadoop fs -copyFromLocal file:/test.txt hdfs:/test2.txt
3) 下载文件、目录(get、copyToLocal)
get用法:
拷贝文件到本地目录:
hadoop fs -get hdfs:/test.txt file:/root/
拷贝文件并重命名,可以简写:
hadoop fs -get /test.txt /root/test.txt
copyToLocal用法
拷贝文件到本地目录:
hadoop fs -copyToLocal hdfs:/test.txt file:/root/
拷贝文件并重命名,可以简写:
hadoop fs -copyToLocal /test.txt /root/test.txt
4) 拷贝文件、目录(cp)
从本地到HDFS,同put
hadoop fs -cp file:/test.txt hdfs:/test2.txt
从HDFS到HDFS
hadoop fs -cp hdfs:/test.txt hdfs:/test2.txt
hadoop fs -cp /test.txt /test2.txt
5) 移动文件(mv)
hadoop fs -mv hdfs:/test.txt hdfs:/dir/test.txt
hadoop fs -mv /test.txt /dir/test.txt
6) 删除文件、目录(rm)
删除指定文件
hadoop fs -rm /a.txt
删除全部txt文件
hadoop fs -rm /*.txt
递归删除全部文件和目录
hadoop fs -rm -R /dir/
7) 读取文件(cat、tail)
hadoop fs -cat /test.txt #以字节码的形式读取
hadoop fs -tail /test.txt
8) 创建空文件(touchz)
hadoop fs - touchz /newfile.txt
9) 创建文件夹(mkdir)
hadoop fs -mkdir /newdir /newdir2#可以同时创建多个
hadoop fs -mkdir -p /newpkg/newpkg2/newpkg3 #同时创建父级目录
10) 获取逻辑空间文件、目录大小(du)
hadoop fs - du / #显示HDFS根目录中各文件和文件夹大小
hadoop fs -du -h / #以最大单位显示HDFS根目录中各文件和文件夹大小
hadoop fs -du -s / #仅显示HDFS根目录大小。即各文件和文件夹大小之和