0


HDFS 常见基础操作命令

文章目录

1. HDFS文件系统基本信息

HDFS和Linux系统一样,均是以

/

作为跟目录的组织形式

如何区分HDFS和Linux上的路径?

可以采用如下方式区分

# 在linux路径前面加file:///
Linux:file:///file:///usr/local/hello.txt# 在hdfs路径前加hdfs://namdnode地址:port/
HDFS: hdfs://namenode:port/
hdfs://node:8020/usr/local/hello.txt

注意:在真正

hdfs命令

中协议头

file:///

hdfs:///node地址:8020

可以省略
在需要提供Linux路径的参数,会自动识别为

file:///

;在需要提供HDFS路径的参数,会自动识别为

hdfs://

;除非明确需要写或者不写会有BUG,否则一般不用写协议头。

2. HDFS基础命令

老版本:hadoop fs 开头
新版本:hdfs dfs 开头

使用新版本和老版本命令都可以,接下来以新版本命令演示

2.1 HDFS上创建文件夹

hdfs dfs -mkdir [-p] <path>
  • path:为待创建的目录
  • -p:创建多级目录

示例:

hdfs dfs -mkdir -p /usr/local/server

2.2 查看HDFS指定目录下的内容

hdfs dfs -ls [-h] [-R] [<path>]
  • path:指定要查看的路径
  • -h:人性化显示文件的大小
  • -R:递归查看指定目录及其子目录

示例:

hdfs dfs -ls -lh /usr

2.3 本地上传文件到HDFS指定目录下

hdfs dfs -put [-f] [-p] <local path> <hdfs path>
  • -f:覆盖目标文件
  • -p:保留访问和修改时间,所有权和权限
  • local path:本地文件系统地址
  • hdfs path:HDFS上目标文件系统

示例:

# 带协议头
hdfs dfs -put file:///etc/profile hdfs://node:8020/usr# 不带协议头
hdfs dfs -put /etc/profile /usr

2.4 查看HDFS文件内容

hdfs dfs -cat <hdfs path>

读取指定文件全部内容
示例:

hdfs dfs -cat /usr/profile

在读取大文件的时候可以使用管道符配合more:

hdfs dfs -cat /usr/profile | more

2.5 下载HDFS文件

hdfs dfs -get [-f] [-p] <hdfs path> <local dir>
  • hdfs path:hdfs上要下载的文件路径
  • local dir:本地下载到的路径
  • -f:覆盖目标文件
  • -p:保留访问和修改时间,所有权和权限

示例:

# 下载hdfs上的profile文件到当前目录
hdfs fs -get /usr/profile ./

2.6 复制HDFS文件

hdfs dfs -cp [-f] <src> <dst>
  • -f:覆盖目标文件

示例:

# 复制 a.txt到/usr路径下
hdfs fs -cp /small/a.txt /usr

# 重命名
 hadoop fs -cp /small/1.txt /small/1.txt

只能是在HDFS上的路径之间的复制,不能本地文件复制到HDFS

2.7 追加数据到HDFS文件中

hdfs dfs -appendToFile <local path> <hdfs path>

将所有给定文本文件的内容追加到给定的hdfs文件

hdfs path

如果文件不存在,将创建文件
如果

<local path>

为-,则输入为从标准输入中读取。

示例:

hdfs fs -appendToFile 1.txt 2.txt 3.txt /usr/a.txt

2.8 HDFS数据移动

hdfs dfs -mv <src> <dst>

示例:

# 移动a.txt 到/local路径下:
hdfs dfs -mv /usr/a.txt /local# 重命名:
hdfs dfs -mv /usr/a.txt /usr/b.txt

移动文件到指定的文件夹下,也可以使用该命令重命名

2.9 HDFS删除数据

hdfs dfs -rm -r [-skipTrash] URI [URI ....]

示例:

hdfs dfs -rm -r -skipTrash /usr/b.txt

删除指定路径的文件或文件夹,

-skipTrash

表示跳过回收站,直接删除

3. HDFS更多命令

以上是HDFS常用的基础命令,基本上已经可以满足使用,可以发现大部分都是和linux系统中的命令一致,如果需要更多HDFS命令,可以查看官方文档:

https://hadoop.apache.org/docs/r3.3.4/hadoop-project-dist/hadoop-common/FileSystemShell.html
标签: hdfs hadoop 大数据

本文转载自: https://blog.csdn.net/weixin_44639720/article/details/129907106
版权归原作者 不忘初欣丶 所有, 如有侵权,请联系我们删除。

“HDFS 常见基础操作命令”的评论:

还没有评论