Hadoop FS 常用命令详解_hadoop fs mkdir-程序员宅基地

技术标签: flink  BIG DATA  spark  


1、概述
Hadoop文件系统(FS)提供了各种shell命令,与shell命令类似,可用于同分布式文件系统(HDFS)进行交互,以管理HDFS集群中的文件和数据。

2、Hadoop FS常用命令
(1)创建目录
用法:

hadoop fs -mkdir <paths>
示例:
创建单个目录:

hadoop fs -mkdir /home/myfile/dir1
创建多目录:

hadoop fs -mkdir /home/myfile/dir1 /home/myfile/dir2
(2)查看目录
用法:

hadoop fs -ls <paths>
示例:
与shell中ls类似:

hadoop fs -ls /home/myfile/
注:hadoop fs -ls会打印出目录统计信息和详细信息,对文件批处理需注意格式。

(3)上传文件
将一个或多个文件从本地系统复制到Hadoop文件系统。
用法:

hadoop fs -put <local_files> ... <hdfs_path>
示例:

hadoop fs -put Desktop/test.sh /home/myfile/dir1/
(4)下载文件
将文件从HDFS下载到本地文件系统。
用法:

hadoop fs -get <hdfs_paths> <local_path>
示例:

hadoop fs -get /home/myfile/test.sh Downloads/
(5)查看文件
用法:

hadoop fs -cat <paths>
示例:

hadoop fs -cat /home/myfile/test.sh
(6)复制文件
用法:

hadoop fs -cp <source_path> ... <destination_path>
示例:

hadoop fs -cp /home/myfile/test.sh /home/myfile/dir
(7)移动文件
用法:

hadoop fs -mv <source_path> <destination_path>
示例:

hadoop fs -mv /home/myfile/test.sh /home/myfile/dir
(8)删除文件
删除指令有两个选项,-rm和-rm -r
用法:

hadoop fs -rm <path>
示例:

hadoop fs -rm /home/myfile/test.sh
上述命令只会删除给定目录下的文件,如果要删除一个包含文件的目录,类似于shell中的rm,需要使用递归参数-r。

下面是rm的递归操作:
用法:

hadoop fs -rm -r <path>
示例:

hadoop fs -rm -r /home/myfile/dir
(9)查看文件尾部
用法:

hadoop fs -tail <path>
示例:

hadoop fs -tail /home/myfile/test.sh
(10)显示文件总长度
用法:

hadoop fs -du <path>
示例:

hadoop fs -du /home/myfile/test.sh
(11)统计文件数和大小
用法:

hadoop fs -count <path>
示例:

hadoop fs -count /home/myfile
(12)统计文件系统空间的详细信息
用法:

hadoop fs -df <path>
示例:

hadoop fs -df /home/myfile
(13)合并文件
从HDFS拷贝多个文件、合并排序为一个文件到本地文件系统
用法:

hadoop fs –getmerge <src> <localdst>
示例:

hadoop fs –getmerge /user/hduser0011/test /home/myfile/dir

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命令类似,不同之处会在下面介绍各命令使用详情时指出。出错信息会输出到stderr,其他信息输出到stdout。

cat
使用方法:hadoop fs -cat URI [URI …]

将路径指定文件的内容输出到stdout。

示例:

hadoop fs -cat hdfs://host1:port1/file1 hdfs://host2:port2/file2
hadoop fs -cat file:///file3 /user/hadoop/file4

返回值:
成功返回0,失败返回-1。

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

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

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

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

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

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

copyFromLocal
使用方法:hadoop fs -copyFromLocal <localsrc> URI

限定源路径是一个本地文件,其他与put命令相似。

copyToLocal
使用方法:hadoop fs -copyToLocal [-ignorecrc] [-crc] URI <localdst>

除了限定目标路径是一个本地文件外,和get命令类似。

cp
使用方法:hadoop fs -cp URI [URI …] <dest>

将文件从源路径复制到目标路径。这个命令允许有多个源路径,此时目标路径必须是一个目录。

示例:

hadoop fs -cp /user/hadoop/file1 /user/hadoop/file2
hadoop fs -cp /user/hadoop/file1 /user/hadoop/file2 /user/hadoop/dir

返回值:
成功返回0,失败返回-1。

du
使用方法:hadoop fs -du URI [URI …]

显示目录中所有文件的大小,或者当只指定一个文件时,显示此文件的大小。

示例:

hadoop fs -du /user/hadoop/dir1 /user/hadoop/file1 hdfs://host:port/user/hadoop/dir1

返回值:
成功返回0,失败返回-1。

dus
使用方法:hadoop fs -dus <args>

显示文件的大小。

expunge
使用方法:hadoop fs -expunge

清空回收站。

get
使用方法:hadoop fs -get [-ignorecrc] [-crc] <src> <localdst>

复制文件到本地文件系统。可用-ignorecrc选项复制CRC校验失败的文件。使用-crc选项复制文件以及CRC信息。

示例:

hadoop fs -get /user/hadoop/file localfile
hadoop fs -get hdfs://host:port/user/hadoop/file localfile

返回值:
成功返回0,失败返回-1。

getmerge
使用方法:hadoop fs -getmerge <src> <localdst> [addnl]

接受一个源目录和一个目标文件作为输入,并且将源目录中所有的文件连接成本地目标文件。addnl是可选的,用于指定在每个文件结尾添加一个换行符。

ls
使用方法:hadoop fs -ls <args>

如果是文件,则按照如下格式返回文件信息:
文件名 <副本数> 文件大小 修改日期 修改时间 权限 用户ID 组ID
如果是目录,则返回它直接子文件的一个列表,就像在Unix中一样。目录返回列表的信息如下:
目录名 <dir> 修改日期 修改时间 权限 用户ID 组ID

示例:

hadoop fs -ls /user/hadoop/file1 /user/hadoop/file2 hdfs://host:port/user/hadoop/dir1 /nonexistentfile

返回值:
成功返回0,失败返回-1。

lsr
使用方法:hadoop fs -lsr <args>

ls命令的递归版本。类似于Unix中的ls -R

mkdir
使用方法:hadoop fs -mkdir <paths>

接受路径指定的uri作为参数,创建这些目录。其行为类似于Unix的mkdir -p,它会创建路径中的各级父目录。

示例:

hadoop fs -mkdir /user/hadoop/dir1 /user/hadoop/dir2
hadoop fs -mkdir hdfs://host1:port1/user/hadoop/dir hdfs://host2:port2/user/hadoop/dir

返回值:
成功返回0,失败返回-1。

movefromLocal
使用方法:dfs -moveFromLocal <src> <dst>

输出一个”not implemented“信息。

mv
使用方法:hadoop fs -mv URI [URI …] <dest>

将文件从源路径移动到目标路径。这个命令允许有多个源路径,此时目标路径必须是一个目录。**不允许在不同的文件系统间移动文件。 **

示例:

hadoop fs -mv /user/hadoop/file1 /user/hadoop/file2
hadoop fs -mv hdfs://host:port/file1 hdfs://host:port/file2 hdfs://host:port/file3 hdfs://host:port/dir1

返回值:
成功返回0,失败返回-1。

put
使用方法:hadoop fs -put <localsrc> ... <dst>

从本地文件系统中复制单个或多个源路径到目标文件系统。也支持从标准输入中读取输入写入目标文件系统。

hadoop fs -put localfile /user/hadoop/hadoopfile
hadoop fs -put localfile1 localfile2 /user/hadoop/hadoopdir
hadoop fs -put localfile hdfs://host:port/hadoop/hadoopfile
hadoop fs -put - hdfs://host:port/hadoop/hadoopfile
从标准输入中读取输入。

返回值:
成功返回0,失败返回-1。

rm
使用方法:hadoop fs -rm URI [URI …]

删除指定的文件。只删除非空目录和文件。请参考rmr命令了解递归删除。

示例:

hadoop fs -rm hdfs://host:port/file /user/hadoop/emptydir

返回值:
成功返回0,失败返回-1。

rmr
使用方法:hadoop fs -rmr URI [URI …]

rm的递归版本。

示例:

hadoop fs -rmr /user/hadoop/dir
hadoop fs -rmr hdfs://host:port/user/hadoop/dir

返回值:
成功返回0,失败返回-1。

setrep
使用方法:hadoop fs -setrep [-R] <path>

改变一个文件的副本系数。-R选项用于递归改变目录下所有文件的副本系数。

示例:

hadoop fs -setrep -w 3 -R /user/hadoop/dir1

返回值:
成功返回0,失败返回-1。

stat
使用方法:hadoop fs -stat URI [URI …]

返回指定路径的统计信息。

示例:

hadoop fs -stat path

返回值:
成功返回0,失败返回-1。

tail
使用方法:hadoop fs -tail [-f] URI

将文件尾部1K字节的内容输出到stdout。支持-f选项,行为和Unix中一致。

示例:

hadoop fs -tail pathname

返回值:
成功返回0,失败返回-1。

test
使用方法:hadoop fs -test -[ezd] URI

选项:
-e 检查文件是否存在。如果存在则返回0。
-z 检查文件是否是0字节。如果是则返回0。
-d 如果路径是个目录,则返回1,否则返回0。

示例:

hadoop fs -test -e filename

text
使用方法:hadoop fs -text <src>

将源文件输出为文本格式。允许的格式是zip和TextRecordInputStream。

touchz
使用方法:hadoop fs -touchz URI [URI …]
创建一个0字节的空文件。

示例:

hadoop -touchz pathname

返回值:
成功返回0,失败返回-1。
 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/sirobot/article/details/114524037

智能推荐

c语言if函数嵌套公式例子,IF函数的嵌套使用案例-程序员宅基地

文章浏览阅读3.2k次。从Excel小白到慢慢深刻领悟函数,这一路我见证了她的成长,下面我们一起来看看她带给我们的内容吧~=====手动分割线====昨天我学习了Excel的IF函数,基础语法其实很简单,因为网上很多关于IF函数的讲解大多是用单个条件来讲解的,确实是很容易理解,但也只是单一条件下的IF函数运用。实际情况往往我们的判断条件是不止一个的,并且IF函数的魅力就在于此,面对多条件,就要考虑IF函数的的嵌套了,IF..._[任务1]使用if完成嵌套选择。说明:从键盘输入性别,用字符f'代表女,"m'代表男,若为女性则输出“欢迎女士您的光临!”,男性则要求输入年龄,判断年龄是已经成年,成年则输出“欢迎xx岁您的光临!”。。

java 对象内存_如何查看java对象所占的内存大小-程序员宅基地

文章浏览阅读421次。展开全部我们为什么想要知道对象所占对内存的大小呢?e68a843231313335323631343130323136353331333332636264 (1)做一些cache的时候,我们不可能把数据库的所有的数据都缓存到内存里面,我们要估计缓存的大小。 (2)内存泄露的时候,我们可以查看某些对象的大小来定位问题,当然还有其他的更有效的方式,比如使用MAT分析dump文件 (3)根据jvm的堆内..._代码中查看 一个对象占的heamp的大小

统一日期格式_Excel使用TEXT函数自定义日期格式"e年m月",1930是个转折点-程序员宅基地

文章浏览阅读2.1k次。有的人录入日期时喜欢用小数点做分割,类似这样的“19.03.01”,这是一个不好的习惯,因为这种方法输入的日期不会被Excel识别为日期,只能当作是文本,如果涉及日期相关的计算时,就需要把这个日期给转换成Excel承认的日期格式:2019-3-12019/3/1如何做这个转换呢?我们要用到两个函数:TEXT:文本格式函数,相当于自定义格式SUBSTITUTE:文本替换函数具体的情况有两种,一种是年..._将不规范的日期数据修改为excel可识别的日期格式

Word图片自动编号,调整图片顺序自动更新图片编号,引用该图片的地方也对应更新_word自动更改图号-程序员宅基地

文章浏览阅读1w次,点赞22次,收藏57次。Word图片自动编号,调整图片顺序自动更新图片编号,引用该图片的地方也对应更新_word自动更改图号

使用nginx对grpc进行反向代理和负载均衡_nginx grpc-程序员宅基地

文章浏览阅读5.1k次,点赞4次,收藏18次。前言最近项目中需要给我们的grpc服务进行反向代理和负载均衡。故将这期间查阅的资料进行了整理记录相关链接介绍nginx负载均衡:https://blog.csdn.net/qq_51574197/article/details/117408823nginx对grpc进行反向代理:https://blog.csdn.net/Dearmark/article/details/80066819netty中http2的设计:https://my.oschina.net/u/1261452/blog/299_nginx grpc

k8s与数据分析--利用redash做自助数据分析-程序员宅基地

文章浏览阅读203次。前言在之前文章中,一直讲prometheus的metrics以及apm的指标的重要性,多侧重于收据的收集和存储。如果不对这些数据进行数据分析,那么就没有收集的意义了。通过数据分析和挖掘,让数据产生价值。一直以来我认为devops必须是一 个闭环,即apm,日志,监控着三大系统的数据,必须经过分析对dev和ops有价值。数据可视化是大数据的『最后一公里..._php使用 redash 做数据分析

随便推点

服务器系统盘掉盘原因,服务器掉盘怎么办-程序员宅基地

文章浏览阅读1.3k次。服务器掉盘怎么办 内容精选换一换Windows云服务器变更规格后,可能会发生磁盘脱机,因此,变更规格后,需检查磁盘挂载状态是否正常。本节操作介绍变更规格后检查磁盘挂载状态的操作步骤。对比规格变更前、后,在“计算机”中查询的磁盘个数是否一致。是,表示磁盘挂载状态正常,结束。否,表示存在磁盘脱机,执行2。示例:以使用Windows 2008镜像的云服务器为例,假设变更规格前变更弹性云服务器规格时,如果..._服务器掉盘

基于RISC-V架构的45条指令单周期CPU设计——第2章_alu_mux.v riscv-程序员宅基地

文章浏览阅读1.2k次。完整目录完整代码和论文各部件功能设计1、取指部分PCpcAdderinstMem2、译码部分ID3、访存部分regFile4、立即数扩展部分IE5、ALU部分ALU6、存储器部分dataMem7、多路选择器部分mux_From_rs1_PC_To_ALUmux_From_rs2_IE_To_ALUmux_From_PC_rs1_To_PCmux_From_rs2_To_memmux_From_ALU_mem_ToReg...._alu_mux.v riscv

HTML+CSS+JS实现 ️卡通足球人物梅西ui特效️_梅西的html页面-程序员宅基地

文章浏览阅读2.6k次,点赞9次,收藏15次。???? 作者主页:Java李杨勇???? 简介:Java领域优质创作者????、【java李杨勇】公号作者 简历模板、学习资料、面试题库、技术互助【关注我,都给你】???? 欢迎点赞 ???? 收藏 留言 ???? 效果演示:文末获取源码主要代码实现:CSS样式:html,body { background: #fabf54;}.cartoon { position: absolute; bottom: 0%; l_梅西的html页面

使用了未经检查或不安全的操作_木工镂铣刀具的使用操作安全要点-程序员宅基地

文章浏览阅读391次。铣削是最常用的木材切削加工方法之一。铣刀是刀齿分布在旋转表面上或端面上的多刃刀具,由于参加切削的齿数多、刀刃长,并能采用较高的切削速度,故生产率较高。其加工范围也很广泛,可以加工平面、沟槽、螺旋表面、台阶和回转体表面等,也可以加工齿轮、螺纹、花键轴及各种成型表面。缺点是铣削是断续切削,刀齿切入和切出都会产生振动冲击;刀齿多,容屑和排屑条件差;加工精度较低等。 电动木铣采用的铣刀..._木工镂铣机安全操作规程

linux安卓分离,实现 SELinux  |  Android 开源项目  |  Android Open Source Project-程序员宅基地

文章浏览阅读133次。SELinux 被设置为“默认拒绝”模式,这表示,对于在内核中存在钩子的每一次访问,都必须获得政策的明确许可。这意味着政策文件中包含规则、类型、类、权限等方面的大量信息。关于 SELinux 的完整注意事项不在本文档的讨论范围之内,现在您必须要了解的是在启动新的 Android 设备时如何编写政策规则。目前有大量关于 SELinux 的信息可供您参考。关于建议的资源,请参阅支持文档。关键文件如需启..._安卓脱离linux

诺丁汉特伦特大学交互设计_浙江理工大学2020届数字媒体艺术系毕业设计云展——交互设计(上)...-程序员宅基地

文章浏览阅读536次。交互设计指导老师:傅晶毕业设计:1.蔡渠成、汪 艺、吴越昕:《海豚享阅》2.任钰燕、金 晶:《食趣》3.宋含笑、张新蕾:《古典留声》4.陈 芳、张佳翎、朱冉冉:《优创集》*以上排名不分先后01作者:蔡渠成、汪 艺、吴越昕●《海豚享阅》 “海豚享阅”社交化阅读应用这一项目是通过对阅读市场、阅读者的充分调研后产生的想法,它可以帮助用户找到与自己相匹配的书友,进行共享阅读;在阅读后进行线..._浙江理工大学台文文