大数据学习笔记2.3 JAVA API操作
目录
一、读取HDFS文件
1、读取HDFS文件,保存为本地文件
- 任务:将
/ied01/test.txt下载到项目的download目录里 - 创建
download目录

创建read2()方法

运行read2()

二、重命名目录或文件
- 相当于Shell里的
hdfs dfs -mv命令 - 在
net.hw.hdfs包里创建RenameDirOrFile类

1、重命名目录
- 任务:将
/ied01目录更名为/lzy01 - 编写
rename()方法

运行 rename()方法

利用Hadoop WebUI界面查看

2、重命名文件
任务:将lzy01目录下的hello.txt重命名为hi.txt

编写renameFile()方法

运行renameFile()方法

利用Hadoop WebUI界面查看

三、显示文件列表
在net.hw.hdfs包里创建ListHDFSFiles类

1、显示指定目录下文件全部信息
任务:显示/lzy01目录下的文件列表

编写list1()方法

- 文件系统对象的
listFiles()方法第二个参数设置true,这样可以将/lzy01目录的一切文件,包括子目录里的文件,都一网打尽 - 运行list1()方法

2、显示指定目录下文件路径和长度信息
编写list2()方法

运行list2()方法

四、获取文件块信息
任务:获取/lzy01/hadoop-3.3.4.tar.gz文件块信息

hadoop压缩包会分割成6个文件块

在hdfs包里创建GetBlockLocations类

用到getFileBlockLocations()方法来获取物理切块信息
参数1:文件路径
参数2:起点
参数3:长度
编写代码,获取文件块信息

运行main方法

- 由此可见,
hadoop-3.3.4.tar.gz被hadoop物理切分成6块,前5块长度均为134217728字节(128MB),第6块长度为24369142字节(23.24MB)。
五、创建目录
- 任务:在HDFS上创建
/ied01目录 - 在
net.hw.hdfs包里创建MakeDirOnHDFS类 - 编写代码

运行main()方法

利用Hadoop WebUI界面查看

六、判断文件是否存在
-
任务:判断HDFS上
/ied01目录是否存在,判断/ied01/hadoop.txt文件是否存在 -
在
hdfs包里创建DirFileExistsOrNot类

运行代码

编写fileExists()方法

运行程序

七、判断Path指向目录还是文件
在hdfs包里创建PathToFileOrDir类

编写代码

运行代码

结果明显不对,说明程序逻辑上有问题,原因在于/ied08目录不存在,/lzy01/howard.txt文件不存在,修改代码,加上目录或文件存在与否的判断

运行程序

八、删除文件或目录
- 类似于HDFS Shell里的
hdfs dfs -rmdir和hdfs dfs -rm -r命令 - 在
hdfs包里创建DeleteFileOrDir类

1、删除文件
任务:删除/lzy01/hi.txt文件

编写deleteFile()方法

运行deleteFile()方法

可以在删除文件之前,判断文件是否存在,需要修改代码

运行代码

2、删除目录
- 任务:删除
/lzy01目录 - 编写
deleteDir()方法

运行deleteDir()方法,查看结果

再运行deleteDir()方法,查看结果

3、删除目录或文件
-
进行三个层面的判断:判断是否存在、判断类型(目录或文件)、判断删除是否成功
-
任务:删除
/ied02/hello.txt文件和/lzy01目录

编写delete()方法

运行delete()方法

再次运行


更多推荐
所有评论(0)