hdfs FSDataOutputStream和FileSystem的问题

FileSystem是否就相当于client?
每次FileSystem.create就是新建了一个client?

关于hdfs文件关闭,当FSDataOutputStream流关闭了,是否就表示这个文件关闭了,该文件可以供其他操作,如hive、MR等,因为文件不关闭,是无法供其他操作的;还是FileSystem关闭了才算文件关闭,才能对该文件做其他操作?

  1. 是的

  2. FSDataOutputStream流关闭就可以,这是针对单个文件的写的。FileSystem就像你理解的是个客户端而已,跟单个文件的读写流关闭完全不是一回事。另外关闭FSDataOutputStream流关闭的主要目的是把当前写的内容flush到真正的文件系统上,否则就可能读写不同步产生问题了

发表评论

电子邮件地址不会被公开。 必填项已用*标注