通过调用Java API实现对HDFS的文件系统的操作。基本过程为首先打开代表被操作的HDFS的文件系统对象,然后调研对象的方法完成操作,最后调用对象的close方法关闭对象。运行方式可以java类打包到jar中,然后在hadoop的客户端上运行该jar包
代码:
首先获取文件配置,再遍历输出文件夹
1. package hdfsapi; 2. 3. import java.io.IOException; 4. import java.net.URI; 5. 6. import org.apache.hadoop.conf.Configuration; 7. import org.apache.hadoop.fs.FileStatus; 8. import org.apache.hadoop.fs.FileSystem; 9. import org.apache.hadoop.fs.Path; 10. 11. public class E1_HdfsListDir { 12. public static void main(String[] args) throws IOException, InterruptedException { 13. //获取配置 14. Configuration conf = new Configuration(); 15. conf.set("fs.defaultFS", "hdfs://yc_master:8020"); 16. //获得文件系统对象 17. FileSystem fs = FileSystem.get(conf); 18. //声明路径 19. Path path = new Path("/user/"); 20. //获取文件列表 21. FileStatus[] list = fs.listStatus(path); 22. //遍历文件列表 23. for(FileStatus f:list) { 24. if(f.isDirectory()) { //判断是否是文件夹 25. System.out.println(f.getPath()); 26. } 27. } 28. System.out.println("done!"); //输出结束标记 29. } 30. }
理解HDFS Java API编程原理;
掌握HDFS的命令;
掌握Elipse远程调试Hadoop程序的方法;
掌握HDFS基本的API调用方法。