hadoop之文件管理基本操作


# 格式化hdfs hadoop namenode
-format # 查看hadoop下的文件夹 hadoop fs -ls # 创建hdfs文件夹 hadoop fs -mkdir /user/input # 将本地文件file.txt 复制到新建文件夹,file->hdfs hadoop fs -put /user/wangbin/input/ip_data.txt wangbin # 从hadoop复制到hadoop # 从wangbin复制到wangbin hadoop fs -put ip_list.txt /user/hadoop # 从本地复制到hdfs hadoop fs -copyFromLocal ip_data.txt /user/hadoop # 从hdfs复制到本地 hadoop fs -copyToLocal sample.txt sample.txt # 查看文件内容 hadoop fs -cat /user/output/outfile # 查看顺序文件的内容 hadoop fs -text input/numbers.seq |head # 从hdfs获取文件到本地,hdfs->file hadoop fs -get /user/output/ /home/hadoop_tp/ # 更改所有人 hadoop fs -chown -R wangbin:wangbin /user/wangbin # 删除含有文件的文件夹 hadoop fs -rmr output # 并行复制文件或文件夹,以MapReduce作业实现,-overwrite 覆盖目标文件,-update 仅更新发生变化的部分 hadoop distcp ip_data.txt ip_datav2.txt # 打包project为jar包,上传文件 export HADOOP_CLASSPATH=mapReduceDemoV1.jar # 将hdfs上output目录下的多个文件合并成一个文件output-merge,并存储到本地,hdfs->file hadoop fs -getmerge output output-merge # 确定input存在,且output不存在,执行jar包 hadoop MaxTemperature sample.txt output
# 将本地文件追加到hdfs,file->hdfs
hadoop fs -appendToFile 1.txt 2.txt hdfs://cdh5/tmp/lxw1234.txt
# 将hdfs文件追加到hdfs
hadoop fs -cat hdfs://cdh5/tmp/lxw1234/*.txt | hadoop fs -appendToFile - hdfs://cdh5/tmp/hdfs_largefile.txt

 

#查看hadoop所有命令
hadoop fs
#显示该目录中每个文件或目录的大小 
hadoop fs -du /tmp/logs/shtermuser/-1531305777000.txt
#类似于du,PATH为目录时,会显示该目录的总大小
hadoop fs –dus PATH 
#循环列出目录、子目录及文件信息
hadoop fs –lsr 
#从HDFS文件系统删除test.txt文件,rm命令也可以删除空目录
hadoop fs –rm /user/sunlightcs/test.txt 
#修改HDFS系统中/user/sunlightcs目录所属群组,选项-R递归执行,跟linux命令一样 
hadoop fs –chgrp [-R] /user/sunlightcs 
#修改HDFS系统中/user/sunlightcs目录拥有者,选项-R递归执行 
hadoop fs –chown [-R] /user/sunlightcs 
#修改HDFS系统中/user/sunlightcs目录权限,MODE可以为相应权限的3位数或+/-{rwx},选项-R递归执行
hadoop fs –chmod [-R] MODE /user/sunlightcs 
#清空回收站,文件被删除时,它首先会移到临时目录.Trash/中,当超过延迟时间之后,文件才会被永久删除
hadoop fs –expunge 

对PATH进行如下类型的检查: 
-e PATH是否存在,如果PATH存在,返回0,否则返回1 
-z 文件是否为空,如果长度为0,返回0,否则返回1 
-d 是否为目录,如果PATH为目录,返回0,否则返回1 
hadoop fs –test –[ezd] PATH    
echo $?获取返回值
 
#显示文件的内容,当文件为文本文件时,等同于cat,文件为压缩格式(gzip以及hadoop的二进制序列文件格式)时,会先解压缩 
hadoop fs –text PATH 

查看某个[ls]命令的帮助文档
hadoop fs –help ls 

 

#移动文件,源目录可以有多个,目标只能是一个
hadoop fs -mv src dst
#统计hdfs对应路径下的目录个数,文件个数,文件总计大小
hadoop fs -count <hdfs path> 

 

  #创建一个0字节的空文件

  hadoop fs -touchz pathname

  #计算目录、文件个数和字节数

  #hadoop fs -count path

  #将单个src或多个srcs从本地文件系统附加到目标文件系统。 还从stdin读取输入并附加到目标文件系统。

  hadoop fs -appendToFile localfile /user/hadoop/hadoopfile

  hadoop fs -appendToFile localfile1 localfile2 /user/hadoop/hadoopfile

  hadoop fs -appendToFile localfile hdfs://nn.example.com/hadoop/hadoopfile

  #返回文件的校验信息

  hadoop fs -checksum URI

  #显示目录可用空间

  hadoop fs -df path

  #查找与指定表达式匹配的所有文件,并将选定的操作应用于它们。 如果未指定路径,则默认为当前工作目录。

  hadoop fs -find / -name test -print

  #显示文件和目录的访问控制列表(ACL)。 如果目录具有默认ACL,则getfacl还会显示默认ACL。
  hadoop fs -getfacl [-R] <path>
  #显示文件或目录的扩展属性名称和值(如果有)。
  hadoop fs -getfattr [-R] -n name | -d [-e en] <path>

  #以指定格式打印<path>中文件/目录的统计信息。
  hadoop fs -stat [格式] <路径> ...

  #将所有与指定文件模式匹配的文件截断为指定的长度。
  hadoop fs -truncate [-w] <length> <paths>

posted @ 2018-01-09 16:40  Mars.wang  阅读(885)  评论(1编辑  收藏  举报