由于 FileSystem.get 不是线程安全的,我使用 FileSystem.newInstance 代替。但是每次我需要连接到 HDFS 时调用 newInstance 方法可能不是一个好主意。所以我做了 FileSystem 连接池。
这是第一个问题。
这是好方法吗?
因为我检查了 Hive 源,但他们不使用这种方法。直接使用 HDFS API,甚至从不使用 newInstance。为什么?他们如何建立新的文件系统连接?
他们也不使用 FileSystem.close() 。
他们如何保证 FileSystem 会关闭?