Hadoop教程

Hadoop——HDF的Shell命令

本文主要是介绍Hadoop——HDF的Shell命令,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

指令目录

    • 1、创建目录与文件
    • 2、显示目录与文件名
    • 3、rm删除目录和文件
    • 4、put/get上传/下载
    • 5、cat、text、tail查看文件内容
    • 5、appendToFile追写文件
    • 6、du显示占用磁盘空间大小
    • 7、cp复制文件

1、创建目录与文件

mkdir创建文件夹:hdfs fs -mkdir [-p] < paths >
touchz新建文件:hdfs fs -touchz URI [URI …]

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

命令解释例子
hdfs fs -mkdir(paths)在分布式主目录下新建文件夹hdfs dfs -mkdir /test
hdfs fs -touchz URI [URI …]在/test/下新建文件file1hdfs dfs -touchz /test/file1

2、显示目录与文件名

使用方法:hdfs dfs -ls [-d][-h][-R] < paths >

命令解释例子
hdfs dfs -ls列出目录下的所有文件和目录信息hdfs dfs -ls /test
hdfs dfs -ls -d列出/test目录信息hdfs dfs -mkdir /test
hdfs dfs -ls -h列出目录和文件的大小hdfs dfs -ls -h /test
hdfs dfs -ls -R循环列出目录、子目录及文件信息hdfs dfs -ls -R /test

3、rm删除目录和文件

使用方法:hdfs dfs -rm [-f] [-r|-R] < paths >

命令解释例子
hdfs dfs -rm删除文件hdfs dfs -rm /test/dir0/file1
hdfs dfs -rm -r级联删除目录下的所有文件和子目录文件hdfs dfs -rm -r /test/dir0

4、put/get上传/下载

使用方法↓
hdfs dfs -put [-f] [-p] < localsrc > … < dst >
hdfs dfs -get [-p] [-ignoreCrc] [-crc] < src > … < localdst >

put将本地文件系统的复制到HDFS文件系统的目录下
get 将HDFS中的文件复制到本地文件系统中,与-put命令相反

命令解释例子
hdfs dfs -put/hdfs dfs -put /test/test.txt
hdfs dfs -put -f-f 如果文件在分布式文件系统上已经存在,则覆盖存储,若不加则会报错hdfs dfs -put -f /home/hadoop/hfile /test/hfile
hdfs dfs -put -p-p 保持源文件的属性(组、拥有者、创建时间、权限等)把本地新建的文件放到分布式文件系统主目录下,保持源文件属性hdfs dfs -put -p /home/hadoop/file /test/
hdfs dfs -get把分布式文件系统目录下的文件复制到本地hdfs dfs -get /test/hfile /home/hadoop/hfile

5、cat、text、tail查看文件内容

使用方法↓
hdfs dfs -cat/text [-ignoreCrc] < src >
Hdfs dfs -tail [-f] < file >

其中,-ignoreCrc 忽循环检验失败的文件;-f 动态更新显示数据,如查看某个不断增长的文件的日志文件。

3个命令都是在命令行窗口查看指定文件内容。区别是 text 不仅可以查看文本文件,还可以查看压缩文件和Avro序列化的文件,其他两个不可以;tail 查看的是最后1KB的文件(Linux上的tail默认查看最后10行记录)。

命令解释例子
hdfs dfs -cat查看文件的内容hdfs dfs -cat /test/file
hdfs dfs -text查看文件的内容hdfs dfs -text /test/file
hdfs dfs -tail查看文件的内容hdfs dfs -tail /test/file

5、appendToFile追写文件

使用方法: hdfs dfs -du [-s] [-h] < path > …

默认按字节显示指定目录所占空间大小。其中,-s显示指定目录下文件总大小;-h按照KMG数据大小单位显示文件大小,如果没有单位,默认为B。

命令解释例子
hdfs dfs -appendToFile把本地文件系统文件追加到分布式文件系统中hdfs dfs -appendToFile /home/hadoop/file2 /test/file2

6、du显示占用磁盘空间大小

使用方法: hdfs dfs -du [-s] [-h] < path > …

默认按字节显示指定目录所占空间大小。其中,-s显示指定目录下文件总大小;-h按照KMG数据大小单位显示文件大小,如果没有单位,默认为B。

命令解释例子
hdfs dfs -du显示分布式主目录下文件和目录大小hdfs dfs -du /test/
hdfs dfs -du -h显示分布式主目录下文件和目录大小hdfs dfs -du -h /test/
hdfs dfs -du -s显示分布式主目录下文件和目录大小hdfs dfs -du -s /test/

7、cp复制文件

将文件从SRC复制到DST,如果指定了多个SRC,则DST必须为一个目录
使用方法:hdfs fs –cp SRC [SRC …] DST

命令例子解释
hdfs dfs -cphdfs dfs -cp /test/file2 /test/dir0从/test复制file2文件至/test/dir0目录下
这篇关于Hadoop——HDF的Shell命令的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!