サブディレクトリを作成するときに親ディレクトリが存在しない場合、HDFS コマンドが失敗するようにします。いずれかを使用するとFileSystem#mkdirs
、例外が発生せず、代わりに存在しない親ディレクトリが作成されることがわかりました。
import java.util.UUID
import org.apache.hadoop.conf.Configuration
import org.apache.hadoop.fs.{FileSystem, Path}
val conf = new Configuration()
conf.set("fs.defaultFS", s"hdfs://$host:$port")
val fileSystem = FileSystem.get(conf)
val cwd = fileSystem.getWorkingDirectory
// Guarantee non-existence by appending two UUIDs.
val dirToCreate = new Path(cwd, new Path(UUID.randomUUID.toString, UUID.randomUUID.toString))
fileSystem.mkdirs(dirToCreate)
親ディレクトリが存在しない場合に HDFS に強制的に例外をスローさせるにはどうすればよいでしょうか?