HDFS Shell 命令实操

网友投稿 980 2022-05-29

1. 微博案例–HDFS shell实操

1.1 案例:微博用户数据HDFS操作

1.2 创建目录

1.3 查看指定目录下内容

1.4 上传文件到指定目录下(1)

1.5 上传文件到指定目录下(2)

1.6 查看HDFS文件内容(1)

1.7 查看HDFS文件内容(2)

1.8 查看HDFS文件内容(3)

1.9 下载HDFS文件(1)

1.10 合并下载HDFS文件(2)

1.11 拷贝HDFS文件

1.12 追加数据到HDFS文件中

1.13 查看HDFS磁盘空间

1.14 查看HDFS文件使用的空间量

1.15 HDFS数据移动操作或重命名文件的名称

1.16 修改HDFS文件副本个数

1.17 删除HDFS文件

1.18 批量删除文件

1.19 递归删除文件夹

1. 微博案例–HDFS Shell实操

1.1 案例:微博用户数据HDFS操作

1.2 创建目录

1.3 查看指定目录下内容

1.4 上传文件到指定目录下(1)

1.5 上传文件到指定目录下(2)

1.6 查看HDFS文件内容(1)

1.7 查看HDFS文件内容(2)

1.8 查看HDFS文件内容(3)

1.9 下载HDFS文件(1)

1.10 合并下载HDFS文件(2)

1.11 拷贝HDFS文件

1.12 追加数据到HDFS文件中

1.13 查看HDFS磁盘空间

1.14 查看HDFS文件使用的空间量

1.15 HDFS数据移动操作或重命名文件的名称

1.16 修改HDFS文件副本个数

1.17 删除HDFS文件

1.18 批量删除文件

1.19 递归删除文件夹

2. HDFS其他Shell命令操作

1. 微博案例–HDFS Shell实操

1.1 案例:微博用户数据HDFS操作

需求:微博作为社交平台,拥有大量的用户评论数据。为了更好的分析微博用户的行为和习惯,进行精准的营销和推荐。可以将微博的用户评论数据上传到HDFS,供后续其他大规模文本、情感分析程序来处理。因为HDFS作为分布式文件存储系统,是整个大数据平台的最底层的核心。

目录规划

1.2 创建目录

命令:hadoop fs -mkdir [-p] ...

path 为待创建的目录

-p选项的行为与Unix mkdir -p非常相似,它会沿着路径创建父目录。

可以选择一个一个创建,也可以一起创建

hadoop fs -mkdir /common hadoop fs -mkdir /workspace /warehouse /source

1.3 查看指定目录下内容

命令:hadoop fs -ls [-h] [-R] [ ...]

path 指定目录路径

-h 人性化显示文件size

-R 递归查看指定目录及其子目录

两个参数也可以同时使用

hadoop fs -ls -h -R /

使用 -h 参数会人性化一点

1.4 上传文件到指定目录下(1)

HDFS Shell 命令实操

命令:hadoop fs -put [-f] [-p] ...

-f 覆盖目标文件(已存在下)

-p 保留访问和修改时间,所有权和权限。

localsrc 本地文件系统(客户端所在机器)

dst 目标文件系统(HDFS)

上传 test1.csv 测试文件到 root 目录下

创建好 HDFS 下的文件目录

hadoop fs -mkdir -p /source/weibo/star/comment_log/20210404_hadoop1/

把刚刚root下的 test1.cvs 文件上传到 HDFS 对应的路径下,下面两种方式都是可行的

hadoop fs -put test1.csv /source/weibo/star/comment_log/20210404_hadoop1/

hadoop fs -put file:///root/test1.csv

1.5 上传文件到指定目录下(2)

命令:hadoop fs -moveFromLocal ...

和-put功能意义,只不过上传结束,源数据会被删除

hadoop fs -moveFromLocal test1.csv /tmp/

1.6 查看HDFS文件内容(1)

命令:hadoop fs -cat ...

读取指定文件全部内容,显示在标准输出控制台。

注意:对于大文件内容读取,慎重。 适合查看小文件

如:

hadoop fs -cat /source/weibo/star/comment_log/20210404_hadoop1/test1.csv

1.7 查看HDFS文件内容(2)

命令:hadoop fs -head

查看文件前1KB的内容。

如:

hadoop fs -head /source/weibo/star/comment_log/20210404_hadoop1/test1.csv

1.8 查看HDFS文件内容(3)

命令:hadoop fs -tail [-f]

查看文件最后1KB的内容

-f选择可以动态显示文件中追加的内容。

1.9 下载HDFS文件(1)

命令:hadoop fs -get [-f] [-p] ...

src 表示的的是 HDFS 路径

下载文件到本地文件系统指定目录,localdst必须是目录,表示当前客户端的机器路径

-f 覆盖目标文件(已存在下)

-p 保留访问和修改时间,所有权和权限。

如:把 HDFS 下的 /tmp/test1.csv 下载到第三台 hadoop3的 root 下

hadoop fs -get /tmp/test1.csv /root

hadoop fs -get /tmp/test1.csv ./

./ 表示的就是当前路径

1.10 合并下载HDFS文件(2)

命令:hadoop fs -getmerge [-nl] [-skip-empty-file]

下载多个文件合并到本地文件系统的一个文件中。并且跳过空文件

-nl选项表示在每个文件末尾添加换行符

案例:分别在本地文件路径下创建 三个txt文件,分别写入1,2,3数字

创建HDFS下 /tmp/small 文件夹,把三个 txt 文件上传到此路径下

把 /tmp/small/下的 三个文件下载到本地合并,重命名为 123.txt 文件

1.11 拷贝HDFS文件

命令:hadoop fs -cp [-f] ...

-f 覆盖目标文件(已存在下)

案例:把 /tmp/test1.csv 文件拷贝到 /tmp/small 路径下

hadoop fs -cp /tmp/test1.csv /tmp/small/

1.12 追加数据到HDFS文件中

命令:hadoop fs -appendToFile ...

将所有给定本地文件的内容追加到给定dst文件。

dst如果文件不存在,将创建该文件。

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

案例:在本地创建 xdr630.txt 文件,写入:this is xdr630 file. ,追加到 HDFS 上的 /tmp/small/1.txt 下

hadoop fs -appendToFile xdr630.txt /tmp/small/1.txt

1.13 查看HDFS磁盘空间

命令:hadoop fs -df [-h] [ ...]

显示文件系统的容量,可用空间和已用空间

hadoop fs -df -h /

1.14 查看HDFS文件使用的空间量

命令:hadoop fs -du [-s] [-h] ...

-s:表示显示指定路径文件长度的汇总摘要,而不是单个文件的摘要。

-h:选项将以“人类可读”的方式格式化文件大小

hadoop fs -du -s -h /source/weibo

1.15 HDFS数据移动操作或重命名文件的名称

命令:hadoop fs -mv ...

移动文件到指定文件夹下

可以使用该命令移动数据,重命名文件的名称

案例:把/tmp/small/test1.csv 文件移动到 HDFS 的根目录下

hadoop fs -mv /tmp/small/test1.csv /

1.16 修改HDFS文件副本个数

命令:hadoop fs -setrep [-R] [-w] ...

修改指定文件的副本个数。

-R表示递归 修改文件夹下及其所有

-w 客户端是否等待副本修改完毕。

1.17 删除HDFS文件

命令: hadoop fs -rm [-f] [-r |-R] [-skipTrash] [-safely] URI [URI ...]

删除文件

-R选项以递归方式删除目录及其下的任何内容。

-r选项等效于-R。

-skipTrash选项将绕过垃圾桶(如果启用),并立即删除指定的文件。当需要从超配额目录中删除文件时,这很有用。

案例:删除 HDFS 根目录下的 test1.csv

hadoop fs -rm /test1.csv

成功返回0,错误返回-1。

递归删除:

1.18 批量删除文件

其实就是一个命令连续删除多个文件,如:

案例:删除 HDFS 上的 /tmp/small 下的三个 txt 文件。

hadoop fs -rm /tmp/small/1.txt /tmp/small/2.txt /tmp/small/3.txt

这里要注意的是:多个文件中的间隔一定要写完整的文件路径,不然就删除不了

1.19 递归删除文件夹

命令:hadoop fs -rmr URI [URI …]

或:hadoop fs -rm -r URI [URI …]

递归版本的删除。

官方推荐使用 hadoop fs -rm -r

如:

hadoop fs -rmr /user/hadoop/dir

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

2. HDFS其他Shell命令操作

目前最新版本hadoop 3.2.2 命令官方指导文档

https://hadoop.apache.org/docs/r3.2.2/hadoop-project-dist/hadoop-common/FileSystemShell.html

老版本HDFS中文版命令:http://hadoop.apache.org/docs/r1.0.4/cn/hdfs_shell.html

友情提示

常见的操作自己最好能够记住,其他操作可以根据需要查询文档使用。

命令属于多用多会,孰能生巧,不用就忘。

Hadoop Shell

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:设计模式是什么鬼?
下一篇:Gartner:云战略指南
相关文章