Hadoop—hadoop fs 命令使用

这篇具有很好参考价值的文章主要介绍了Hadoop—hadoop fs 命令使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


FS Shell 简介

FS Shell
调用文件系统(FS)Shell命令应使用 hadoop fs 的形式。

所有的的FS shell命令使用URI路径作为参数。URI格式是scheme://authority/path。

对HDFS文件系统,scheme是hdfs,对本地文件系统,scheme是file。其中scheme和authority参数都是可选的,如果未加指定,就会使用配置中指定的默认scheme。

一个HDFS文件或目录比如/parent/child可以表示成hdfs://namenode:namenodeport/parent/child,或者更简单的/parent/child,以下示例中的文件或者目录都可以表示为这两种形式。(假设你配置文件中的默认值是namenode:namenodeport)。

大多数FS Shell命令的行为和对应的Unix Shell命令类似,不同之处在于操作的是hdfs文件系统内的文件。出错信息会输出到stderr,其他信息输出到stdout。


一、主要命令

命令 说明
hadoop fs -ls [-r ] < path > 查看HDFS目录下的文件和子目录
hadoop fs -mkdir < path > 创建HDFS目录
hadoop fs -rm [-r] < path > 删除HDFS下的文件及子目录
hadoop fs -touchz < path > 创建一个0字节的文件
hadoop fs -put /-moveFromLocal/-copyFromLocal < path > 上传文件到HDFS
hadoop fs -get < path > 下载文件到HDFS
hadoop fs -getmerge/-copyToLocal < path > 合并文件到HDFS
hadoop fs -mv < path > 移动HDFS上文件
hadoop fs -cp < path > 复制HDFS上文件
hadoop fs -cat/-text < path > 查看HDFS上文件
hadoop fs -tail < path > 查看HDFS文件最后1000个字节
hadoop fs -du [-s] [-h] < path > 查看HDFS文件的空间
hadoop fs -stat < path > 查看HDFS文件的创建时间
hadoop fs -count < path > 计算HDFS文件数和大小
hadoop fs -test < path > 检查HDFS文件
hadoop fs -chmod < path > 修改HDFS文件权限
hadoop fs -chown < path > 修改HDFS文件所有者和组
hadoop fs -chgrp < path > 修改HDFS所属的组
hadoop fs -setrep < path > 修改HDFS文件副本数
hadoop fs -expunge < path > 清空回收站

二、使用示例

1. 查看 HDFS 文件/目录

ls

使用方法:hadoop fs -ls [-C] [-d] [-h] [-q] [-R] [-t] [-S] [-r] [-u] [-e] [ < path > …

1)查看HDFS根目录下面列表
查看目录,返回它直接子文件的一个列表,就像在Unix中一样。
目录返回列表的信息如下:目录名 修改日期 修改时间 权限 用户ID 组ID

示例:

#列出目录下的文件内容
hadoop fs -ls /
#递归列出目录、子目录及文件信息
hadoop fs -ls -r /
hadoop fs -lsr /

2)查看HDFS文件
若查看文件,则返回文件信息如下:文件名 <副本数> 文件大小 修改日期 修改时间 权限 用户ID 组ID

示例:

hadoop fs -ls /user/file1

2. 创建 HDFS 目录

mkdir

使用方法:hadoop fs -mkdir [-p] < path > …

示例:

#创建单个目录
hadoop fs -mkdir -p /file1
#创建多级目录
hadoop fs -mkdir -p /file1/file2/…

3. 删除 HDFS 目录/文件

rm

使用方法:hadoop fs -rm [-f] [-r|-R] [-skipTrash] [-safely] < src > …

示例:

#删除HDFS上指定文件
hadoop fs -rm /user/file1
#递归删除HDFS文件目录及文件
hadoop fs -rmr /user/file1
#为了避免误删数据,加了一个确认
hadoop fs -rmi /user/file1

4. 创建一个0字节的文件

touchz

使用方法:hadoop fs -touchz < path > …

示例:

hadoop fs -touchz /user/file1

5. 上传文件

put : 从本地系统拷贝文件到DFS
使用方法:hadoop fs -put [-f] [-p] [-l] [-d] [-t < thread count >] < localsrc > … < dst >

moveFromLocal : 等价于hadoop fs -put
使用方法:hadoop fs -moveFromLocal [-f] [-p] [-l] [-d] < localsrc > … < dst >

copyFromLocal : 等价于hadoop fs -put
使用方法:hadoop fs -copyFromLocal [-f] [-p] [-l] [-d] [-t < thread count >] < localsrc > … < dst >

示例:

hadoop fs -put /user/file1
hadoop fs -moveFromLocal /user/file1
hadoop fs -copyFromLocal /user/file1

6. 下载文件

get : 从DFS拷贝文件到文件系统,若多个文件,则dst必须是目录

使用方法:hadoop fs -get [-f] [-p] [-ignoreCrc] [-crc] < src > … < localdst >

示例:

hadoop fs -get /user/file1

7. 合并文件

getmerge : 从DFS拷贝多个文件,合并排序为一个文件到本地文件系统
使用方法:hadoop fs -getmerge [-nl] [-skip-empty-file] < src > < localdst >

copyToLocal : 等价于hadoop fs -get
使用方法:hadoop fs -copyToLocal [-f] [-p] [-ignoreCrc] [-crc] < src > … < localdst >

示例:

hadoop fs -getmerge /user/file1
hadoop fs -copyToLocal /user/file1

8. 移动文件

mv : 将制定格式的文件move到指定的目标位置,若src为多个文件,则dst必须是目录

使用方法 : hadoop fs -mv < src > … < dst >

示例:

hadoop fs -mv /user/file1

9. 复制文件

cp : 拷贝文件到目标位置,当scr为多个文件时,dst必须是个目录。

使用方法:hadoop fs -cp [-f] [-p | -p[topax]] [-d] <
src > … < dst >

示例:

hadoop fs -cp /user/file1

10. 查看文件内容

cat
使用方法:hadoop fs -cat [-ignoreCrc] < src > …

text :将源文件输出为文本格式。允许的格式是zip和TextRecordInputStream,如果是压缩文件会先解压再查看
使用方法:hadoop fs -text [-ignoreCrc] < src > …

示例:

hadoop fs -cat hdfs://file1
hadoop fs -text hdfs://file1

11. 查看文件尾部

tail : 将文件的最后1000字节(1k)的内容输出到stdout

使用方法:hadoop fs -tail [-f] [-s ] < file >

示例:

hadoop fs -tail /user/file1

12. 查看文件空间大小

du

使用方法 : hadoop fs -du [-s] [-h] [-v] [-x] < path > …

示例:

hadoop fs -du /user/file1

#对应路径下每个文件夹和文件的大小,文件的大小用方便阅读的形式表示,例如用64M代替67108864
hadoop fs -du -h /user/file1

#显示文件大小,s代表显示只显示总计,显示此文件大小。
hadoop fs -du -s /user/file1
hadoop fs -dus

13. 查看文件状态

stat : 当使用-stat选项但不指定format时候,只打印文件创建日期,相当于%y

使用方法 : hadoop fs -stat [format] < path > …
说明:
当向HDFS上写文件时,可以通过设置dfs.block.size配置项来设置文件的block size,这导致HDFS上不同文件的block size是不同的。有时候我们需要知道HDFS上某个文件的block size,比如想知道该该文件作为job的输入会创建几个map等。Hadoop FS Shell提供了一个-stat选项可以达到目的。
hadoop fs -stat [format]
列出了format的形式:
%b:打印文件大小(目录为0)
%n:打印文件名
%o:打印block size (我们要的值)
%r:打印备份数
%y:打印UTC日期 yyyy-MM-dd HH:mm:ss
%Y:打印自1970年1月1日以来的UTC微秒数
%F:目录打印directory, 文件打印regular file

示例:

#打印文件创建日期
hadoop fs -stat hdfs://b1/apps/summary_fz_province/hive/summary_fz_province/cdc_zxt_user_info_tmp
2022-11-02 08:35:45 #文件创建日期

#打印文件的block size和备份个数
hadoop fs -stat “%o %r” hdfs://b1/apps/summary_fz_province/hive/summary_fz_province/cdc_zxt_user_info_tmp
0 0 #block size和备份个数

14. 统计文件数和大小

count :计数文件个数及所占空间的详情
输出表格的列的含义依次为:DIR_COUNT,FILE_COUNT,CONTENT_SIZE,FILE_NAME
或者如果加了-q的话,还会列出QUOTA,REMAINING_QUOTA,SPACE_QUOTA,REMAINING_SPACE_QUOTA。

使用方法 : hadoop fs -count [-q] [-h] [-v] [-t []] [-u] [-x] [-e] < path > …

示例:

hadoop fs -count [-q] hdfs://b1/apps/file1

15. 检查文件

test

使用方法 : hadoop fs -test -[defswrz] < path >
-e 检查文件是否存在,如果存在返回为0
-z 检查文件是0字节,如果是则返回0
-d 如果路径是个目录,则返回1,否则返回0

示例:

hadoop fs -test -e hdfs://b1/apps/file1

16. 修改文件权限

chmod : 改变文件的权限,使用-R将使改变在目录结构下递归进行。命令的使用者必须是文件的所有者或者超级用户。

使用方法 : hadoop fs -chmod [-R] <MODE[,MODE]… | OCTALMODE> PATH…

17. 修改文件的所有者和组

chown:改变文件的拥有者。使用-R将使改变在目录结构下递归进行。命令的使用者必须是超级用户。

使用方法 : hadoop fs -chown [-R] [OWNER][:[GROUP]] PATH…

18. 修改文件目录的属组

chgrp : 改变文件所属的组,使用-R将使改变在目录结构下递归进行。命令的使用者必须是文件的所有者或者超级用户。等价于-chown … GROUP …。

使用方法 : hadoop fs -chgrp [-R] GROUP PATH…

19. 修改文件的副本系数

setrep : 设置文件的备份级别。-R标志控制是否递归设置子目录及文件。

使用方法 : hadoop fs -setrep [-R] [-w]

示例:

#查看副本数
hadoop fs -ls hdfs://b1/apps/file
-rw-r–r-- 3 root analy 29318252 2022-11-02 16:35 hdfs://b1/apps/file #第二列为副本数

#修改副本数
hadoop fs -setrep -w 2 -R hdfs://b1/apps/file1

#再次查看副本数,变成2
hadoop fs -ls hdfs://b1/apps/file
-rw-r–r-- 2 root analy 29318252 2022-11-02 16:35 hdfs://b1/apps/file #第二列为副本数

20. 清空回收站

expunge

使用方法 : hadoop fs -expunge [-immediate]

示例:

hadoop fs -expunge


三、实际应用

实现目标:定时核查记录 hive 每天的更新时间
实现过程
1 、找表的存储路径
一种方法通过hive命令" desc formatted table_name " 得到表的详细信息,找到表的存储路径 “Location : 'hdfs://b1/apps/analy/hive/';
另一种方法通过hive命令 "show create table table_name ",找到 "LOCATION 'hdfs://b1/apps/analy/hive/ "
2、利用 hadoop fs -ls location 第六列是表的更新时间文章来源地址https://www.toymoban.com/news/detail-761283.html

到了这里,关于Hadoop—hadoop fs 命令使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Hadoop Hdfs基本命令

    1.hadoop 安装问题处理 2.hdfs 基本命令 3. 上传/下载文件和文件夹 1.hadoop安装问题处理 如果安装有进程无法启动,如下图 重新检查6个配置文件 Core-site.xml hdfs-site.xml hadoop-env.sh yarn-site.xml workers yarn-site.xml 来到hadoop313目录 清空data和yarndata 重新初始化 测试 2.hadoop hdfs基本命

    2024年02月11日
    浏览(43)
  • Hadoop-5-HDFS常用命令

    第一类:文件路径增删改查系列: hdfs dfs -mkdir dir 创建文件夹 hdfs dfs -rmr dir 删除文件夹dir hdfs dfs -ls 查看目录文件信息 hdfs dfs -lsr 递归查看文件目录信息 hdfs dfs -stat path 返回指定路径的信息 第二类:空间大小查看系列命令: hdfs dfs -du -h dir 按照适合阅读的形式人性化显示文件

    2024年02月09日
    浏览(43)
  • 【Hadoop-HDFS】HDFS常用操作命令

    hadoop fs -ls / 普通创建: hadoop fs -mkdir /xiaolin 递归创建: hadoop fs -mkdir -p /xiaolin/xiaoyin mkdir xuan.txt hadoop fs -moveFromLocal xuan.txt /xiaolin hadoop fs -copyFromLocal xuan.txt / hadoop fs -put xuan.txt / 文件名称相同时覆盖hdfs上的文件: -f hadoop fs -put -f xuan.txt / hadoop fs -copyToLocal /xiaolin ./ hadoop fs -get

    2024年02月05日
    浏览(52)
  • hadoop命令行查看hdfs容量剩余

    #需要有superuser权限才能执行 hadoop dfsadmin -report #Remaining是剩余的容量 也可以通过浏览器访问50070端口查看

    2024年02月15日
    浏览(71)
  • Hadoop HDFS shell 命令行常用操作

    前言:Hadoop HDFS shell的命令和Linux的shell命令有类似的地方,基本上会使用Linux命令的话,把HDFS的理论理解一下就可以了。 一、创建文件夹  path为待创建的目录  -p选项的行为与unix mkdir -p类似,他会沿着路经创建父目录 二、查看指定目录下的内容  Path指定目录路径 -h人性化显

    2024年02月04日
    浏览(49)
  • hadoop基础:通过 Shell 命令访问 HDFS

    HDFS Shell 是由一系列类似 Linux Shell 的命令组成的。命令大致可分为 操作命令 、 管理命令 、 其他命令 三类 操作命令是以“ hdfs dfs ”开头的命令。通过这些命令,用户可以完成 HDFS 文件的 复制、删除和查找 等操作,Shell 命令的一般格式如下。 hdfs dfs [通用选项] 其中,hdfs

    2023年04月08日
    浏览(48)
  • Hadoop框架---HDFS的Shell命令操作

    有2种等效的语法格式分别为: case1: hadoop fs 具体命令 case2: hdfs dfs 具体命令 实际使用时根据 个人喜好 自由选择以上任意一种语法格式。 其有很多命令,但在生产环境中我们经常使用的命令并没有那么多,因此需要时再回头查阅上图中的命令即可。 3.1.1 启动Hadoop集群 在使用

    2024年02月05日
    浏览(52)
  • Hadoop中命令检查hdfs的文件是否存在

    在Hadoop中,可以使用以下命令检查HDFS文件是否存在: hadoop fs -test -e 其中,是要检查的HDFS文件的路径。 如果文件存在,命令返回0;如果文件不存在,命令返回非0值。 以下是一个示例: 示例中,使用hadoop fs -test -e命令检查/user/hadoop/myfile.txt文件是否存在。接着,通过检查命

    2024年02月14日
    浏览(58)
  • Hadoop原理与技术——hdfs命令行基本操作

    点击链接查看文档 一、实验目的 熟悉hdfs命令行基本操作 二、实验环境 Windows 10 VMware Workstation Pro虚拟机 Hadoop环境 Jdk1.8 三、实验内容 1:hdfs常见命令: (1)查看帮助:hdfs dfs -help (2)查看当前目录信息:hdfs dfs -ls / (3)创建文件夹:hdfs dfs -mkdir /文件夹名 (4)上传文件:

    2023年04月16日
    浏览(49)
  • hadoop-hdfs简介及常用命令详解(超详细)

    HDFS(Hadoop Distributed File System)是Apache Hadoop生态系统中的分布式文件系统,用于存储和处理大规模数据集。HDFS具有高容错性、高可靠性和高吞吐量的特点,适用于大数据处理和分析场景。本文将介绍HDFS的基本概念和常用操作,帮助您更好地理解和使用HDFS。 HDFS 是一个分布式

    2024年02月04日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包