The FileSystem class is overloaded and has methods that are not well supported. I suggest to do the following cleanups:
- Pull the safety net into a separate class
- Use the WriteMode to indicate overwriting behavior. Right now, the FileSystem class defines that enum and never uses it. It feels weird.
- Remove the create(path, overwrite, blocksize, reolication, ...) method, which is not really supported across file system implementations. For HDFS, behavior should be set via the configuration anyways.
All changes have to be made in a non-API-breaking fashion.