HDFS文件操作命令

Wesley13
• 阅读 622

1.HDFS启动与关闭

  1. 启动脚本:

    start-all.sh

  1. 关闭脚本:

    stop-all.sh

2.HDFS文件操作命令

2.1 操作命令格式

hdfs dfs -cmd args

cmd是具体命令

args是命令参数

2.2 cat

格式:hdfs dfs -cat fileurl

作用:将参数所指的文件内容输出到stdout

示例:

  • hdfs dfs -cat /user/input/testHDFS文件操作命令

2.3 chgrp

格式:hdfs dfs -chgrp [-R] GROUP URL

作用:改变文件所属的用户组。如果使用-R选项,则这一操作对整个目录结构递归执行。要使用这个命令必须是该文件的所属用户或者超级用户。

2.4 chmod

格式:hdfs dfs -chmod [-R] URL

作用:修改文件的权限。如果加了-R选项则对整个目录进行递归执行。

2.5 chown

格式:hdfs dfs -chown [-R] [OWNER] [,[GROUP]] URI

作用:改变文件的所属用户。如果使用-R选项,则这一操作对整个目录进行递归执行。使用这一命令的用户必须是文件在命令变更之前的所属用户,或者是超级用户。

2.6 copyFromLocal

格式:hdfs dfs -copyFromLocal URI

作用:与put命令相似,但是要限定源文件路径为本地文件系统。

2.7 copyToLocal

格式:hdfs dfs -copyToLocal [-ignorecrc] [-crc] URI

作用:与get命令类似,但是要限定目标文件路径为本地文件系统。

2.8 count

格式:hdfs dfs -count [-q]

作用:统计匹配对应路径下的目录数,文件数,字节数(文件大小)。

选项意义:使用-count时,输出的列为:DIR_COUNT,FILE_COUNT,CONTENT_SIZE,FILE_NAME

从左到右分别对应 : 目录下已存在的目录数,文件数,文件大小,文件名

使用-count -q时,输出的列为:

QUOTA,REMAINING_QUATA , SPACE_QUOTA , REMAINING_SPACE_QUATA , DIR_COUNT,

FILE_COUNT , CONTENT_SIZE , FILE_NAME

从左到右分别对应 : 目录下最大允许文件+目录数(不存在上限,则为none),目录下可增加目录数,文件数(不存在上限,则为inf) ,目录下最大允许空间(不存在上限,则为none),目录下可用最大空间(不存在上限,则为inf);后面几个和-count选项一致,分别对应目录下已存在的目录数,文件数,文件大小,文件名。

示例:

  • hdfs dfs -count hdfs://nn1.example.com/file1 hdfs://nn2.example.com/file2
  • hdfs dfs -count -q hdfs://nn1.example.com/file1

成功结束返回0,出现错误返回-1.

2.9 cp

格式:hdfs dfs -cp URI

作用:将文件拷贝到目标路径之中。如果为目录的话,可以将多个文件拷贝到该目录下

示例:

  • hdfs dfs -cp /user/input/file1 /user/output/file2
  • hdfs dfs -cp /user/input/file1 /user/input/file2 /user/output

返回值:成功返回0,出现错误返回1

2.10 du

格式:hdfs dfs -du [-s] [-h] URI 

作用:如果参数为目录,显示该目录+文件下的大小;若参数为单个文件,则显示文件大小。

选项意义:

-s 只输出所有文件大小的累加和,而不是单个文件的大小。

-h 会将文件大小的数值用方便阅读的形式表示,比如用64.0M代替67108864

示例:

  • hdfs dfs -du /user/hadoop/dir1 /user/hadoop/file1 hdfs://nn.example.com/user/hadoop/dir1

 返回值:成功结束返回0,出现错误返回-1

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Jacquelyn38 Jacquelyn38
2年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Stella981 Stella981
2年前
List的Select 和Select().tolist()
List<PersondelpnewList<Person{newPerson{Id1,Name"小明1",Age11,Sign0},newPerson{Id2,Name"小明2",Age12,
Wesley13 Wesley13
2年前
VirtualBox导入已安装好的操作系统的方法
VirtualBox导入已安装好的操作系统的方法1、修改UUID进入VirtualBox安装目录,运行VBoxManage修改UUID,命令运行如下:D:\\VirtualBoxVBoxManage.exe internalcommands setvdiuuid E:\\VirtualX
Wesley13 Wesley13
2年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Stella981 Stella981
2年前
Python time模块 返回格式化时间
常用命令  strftimetime.strftime("%Y%m%d%H:%M:%S",formattime)第二个参数为可选参数,不填第二个参数则返回格式化后的当前时间日期201812112:00:00time.strftime('%H:%M:%S')返回当前时间的时分秒time.strftim
Wesley13 Wesley13
2年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
3个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这