从本地系统复制一个文件到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对象数组。