HDFS文件系统的基本操作

从本地系统复制一个文件到HDFS

hadoop fs -copyFromLocal input/text.txt \ hdfs://localhost/user/saikikky/text.txt

上述命令可以将本地的text.txt文件复制到运行在localhost上的HDFS实例中,且上面命令的hdfs://localhost可以省略

读文件

可以通过FileSystem API读取数据具体见书(FSDataInputStream类)

写入文件

progress()方法 append()方法

HDFS只允许对一个已打开的文件顺序写入,或在现有文件的末尾追加数据,所以FSDataOutputStream类不允许在文件中定位,在读取的时候FSDataInputStream类可以在文件中定位。所以HDFS不支持在除文件末尾之外的其他位置进行写入,因此,写入时定位就没有意义。

目录

mkdirs()方法可以一次性新建所有必要但还没有的父目录,通常调用create()方法写入文件时会自动创建父目录。

查找文件

FileSystem的getFileStatus()方法用于获取文件或目录的FileStatus对象

列出文件

FileSystem的listStatus()方法用于列出目录中的内容

注意Hadoop中的FileUtil中的stat2Paths()方法的使用,它将一个FileStatus对象数组转换成为一个Path对象数组。

猜你喜欢

转载自blog.csdn.net/Saikikky/article/details/84142057