Hadoop之HDFS常用文件操作命令

命令基本格式

hadoop fs -cmd < args >
  • ls  列出hdfs文件系统根目录下的目录和文件
hadoop fs -ls  /dir

hadoop fs -ls -R /dir                   --列出hdfs文件系统所有的目录和文件 
  • put
hadoop fs -put   <local file>  <hdfs file>      --hdfs file的父目录一定要存在,否则命令不会执行

hadoop fs -put <local file or dir> <hdfs dir>    --hdfs dir 一定要存在,否则命令不会执行

hadoop fs -put - <hdfs file>  --从键盘读取输入到hdfs file中,按Ctrl+D结束输入,hdfs file不能存在,否则命令不会执行

hadoop fs -chmod -R 777 /user/hadoop/tem.log      --授权读写
  • get 
hadoop fs -get <hdfs file> <local file or dir>    --local file不能和 hdfs file名字不能相同,否则会提示文件已存在,没有重名的文件会复制到本地

hadoop fs -get < hdfs file or dir > ... < local  dir >
拷贝多个文件或目录到本地时,本地要为文件夹路径
注意:如果用户不是root, local 路径要为用户文件夹下的路径,否则会出现权限问题,
  • rm
hadoop fs -rm < hdfs file > ...

hadoop fs -rm -r < hdfs dir>...
  • mkdir
hadoop fs -mkdir  <hdfs path>  --只能一级一级的建目录,父目录不存在的话使用这个命令会报错

hadoop fs -mkdir -p <hdfs path>   --所创建的目录如果父目录不存在就创建该父目录
  • cp
hadoop fs -cp <hdfs file>  <hdfs file>
-- 目标文件不能存在,否则命令不能执行,相当于给文件重命名并保存,源文件还存在

hadoop fs -cp <hdfs file or dir> <hdfs dir> --目标文件夹要存在,否则命令不能执行
  • mv   移动
hadoop fs -mv <hdfs file>  <hdfs file>
目标文件不能存在,否则命令不能执行,相当于给文件重命名并保存,源文件不存在

hadoop fs -mv  < hdfs file or dir >...  < hdfs dir >
源路径有多个时,目标路径必须为目录,且必须存在。
注意:跨文件系统的移动(local到hdfs或者反过来)都是不允许的
  • count 
hadoop fs -count <hdfs path>  --统计hdfs对应路径下的目录个数,文件个数,文件总计大小
  • text
hadoop fs -text < hdsf file>
将文本文件或某些格式的非文本文件通过文本格式输出
  • cat
hadoop fs -cat <hdfs file>/*

hadoop fs -cat /user/hive/back/hs_ods/clientinfo/* >clientinfo.txt
-- 将文件保存到local 文件


补充知识:

MR的运行依赖数据地址,如果数据地址不存在,则会报错
  •  在打开的结果中搜索
hadoop dfs -cat /user/hive/warehouse/fundmarket/* |grep '华夏'

本文版权归作者所有,转载请注明出处http://www.cnblogs.com/iloverain/.未经作者同意必须保留此段声明,否则保留追究法律责任的权利.

发布了79 篇原创文章 · 获赞 276 · 访问量 57万+

猜你喜欢

转载自blog.csdn.net/alan_liuyue/article/details/90439472