提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
提示:回忆上次文章 学习目标:熟练掌握hadoop fs命令
示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。
安装方式和教程网上自寻
### 操作Hadoop以外的文件
Shell命令行客户端不止可以操作HDFS的文件,还可以操作其他Hadoop支持的文件系统,比如linux的文件系统(示例): hadoop fs -ls file:///root #这个命令就和在linux下执行 ls /root一样hadoop fs -ls [-h] [-R]
-h 文件大小显示
-R 显示当前路径下的文件和文件的子路径
[root@node-1 ~]# hadoop fs -ls -h / Found 3 items -rw-r--r-- 2 root supergroup 9.2 K 2020-03-26 01:57 /install.log.syslog drwx------ - root supergroup 0 2020-03-26 00:59 /tmp drwxr-xr-x - root supergroup 0 2020-03-26 00:59 /userhadoop fs -mkdir [-p]
和linux一样
上传
hadoop fs -put [-f] [-p] [ -| … ].
注意,前面的路径默认Linux的路径,就是直接输入/是linux的根目录
后面的路径是是Hadoop的路径,就是输入/是NameSpace的根目录
-p:保留访问和修改时间,所有权和权限。
-f:覆盖目的地(如果已经存在)
#把本地文件上传到Hadoop中 [root@node-1 ~]# hadoop fs -put /root/install.log.syslog / [root@node-1 ~]# hadoop fs -ls -h / Found 3 items -rw-r--r-- 2 root supergroup 9.2 K 2020-03-26 01:57 /install.log.syslog drwx------ - root supergroup 0 2020-03-26 00:59 /tmp drwxr-xr-x - root supergroup 0 2020-03-26 00:59 /user下载
使用方法:hadoop fs -get [-ignorecrc] [-crc] [-p] [-f]
-ignorecrc:跳过对下载文件的CRC检查。
-crc:为下载的文件写CRC校验和。
[root@node-1 test]# hadoop fs -get /install.log.syslog ./ [root@node-1 test]# ll total 12 -rw-r--r--. 1 root root 9380 Mar 26 09:14 install.log.syslog把一个本地文件的内容追加到NameSpace中的另一个文件的最后
hadoop fs -appendToFile …
#本地创建1和2两个txt,文件内容就是1和2 [root@node-1 test]# vim 1.txt [root@node-1 test]# vim 2.txt #检查文件创建是否成功 [root@node-1 test]# ls 1.txt 2.txt install.log.syslog #把1上传到NameSpace中 [root@node-1 test]# hadoop fs -put 1.txt / #通过Hadoop命令查看 [root@node-1 test]# hadoop fs -cat /1.txt 1 #appendToFile [root@node-1 test]# hadoop fs -appendToFile 2.txt /1.txt #再次查看,说明成功了 [root@node-1 test]# hadoop fs -cat /1.txt 1 2使用方法:hadoop fs -cat [-ignoreCrc] URI [URI …]
和linux一样
功能:合并下载多个文件
示例:比如hdfs的目录 /aaa/下有多个文件:log.1, log.2,log.3,…
hadoop fs -getmerge /aaa/log.* ./log.sum-tail**
使用方法:hadoop fs -tail [-f] URI
功能:将文件的最后一千字节内容显示到stdout。
-f选项将在文件增长时输出附加数据。
示例:hadoop fs -tail /hadoop/hadoopfile
功能:改变一个文件的副本数量。
-R 选项用于递归改变目录下所有文件的副本数量。
示例:hadoop fs -setrep -w 3 -R /user/hadoop/dir1
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oXArPZjr-1603184188258)(03.HDFS入门.assets/image-20200326172901776.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0NaSMrpZ-1603184188260)(03.HDFS入门.assets/image-20200326172917107.png)]
使用方法:hadoop fs -chgrp [-R] GROUP URI [URI …]
功能:更改文件组的关联。用户必须是文件的所有者,否则是超级用户。
-R将使改变在目录结构下递归进行。
示例:hadoop fs -chgrp othergroup /hadoop/hadoopfile
功能:改变文件的权限。使用-R将使改变在目录结构下递归进行。
示例:hadoop fs -chmod 666 /hadoop/hadoopfile
功能:改变文件的拥有者。使用-R将使改变在目录结构下递归进行。
示例:hadoop fs -chown someuser:somegrp /hadoop/hadoopfile
和put一样
使用方法:hadoop fs -copyFromLocal URI
功能:从本地文件系统中拷贝文件到hdfs路径去
示例:hadoop fs -copyFromLocal /root/1.txt /
和get一样
功能:从hdfs拷贝到本地
示例:hadoop fs -copyToLocal /aaa/jdk.tar.gz
功能:从hdfs的一个路径拷贝hdfs的另一个路径
示例: hadoop fs -cp /aaa/jdk.tar.gz /bbb/jdk.tar.gz.2
功能:在hdfs目录中移动文件
示例: hadoop fs -mv /aaa/jdk.tar.gz /
功能:删除指定的文件。只删除非空目录和文件。-r 递归删除。
示例:hadoop fs -rm -r /aaa/bbb/
功能:统计文件系统的可用空间信息
示例:hadoop fs -df -h /
功能:显示目录中所有文件大小,当只指定一个文件时,显示此文件的大小。
示例:hadoop fs -du /user/hadoop/dir1