背景介绍
Hadoop实现了一套分布式文件系统HDFS,当使用Hadoop的API进行开发,使用HDFS文件系统的时候,必定会用到Hadoop中的FileSystem抽象类,通过FileSystem类的get的方法获取FileSystem的实例,并通过该实例来进行文件系统的操作。
FileSystem fs = FileSystem.get(cfg);
对于该场景,我们可能会有如下疑问:
- FileSystem是一个抽象类,那用来HDFS文件系统的具体实现类是哪一个呢?
- 通过FileSystem的get方法,是如何获取到HDFS文件系统实例的呢?
- Hadoop并不仅支持HDFS文件系统,还支持非常多样的第三方文件系统,如:Amazon S3,当使用这些第三方文件系统的时候,也是用同样的方法来获取文件系统实例的,FileSystem是如何做到的呢?<