HDFS是否在请求的路径上创建所有目录?

时间:2012-12-10 12:56:50

标签: java hadoop hdfs

似乎路径包含嵌套目录,例如a/b/c/然后对create的调用会在路径上创建所有这些目录...

fileSystem.create(new Path(path), true);

..类似于对File.mkdirs的调用

这是HDFS的记录功能吗?

1 个答案:

答案 0 :(得分:1)

FileSystem API的create(…)方法的默认行为(特别是在HDFS实现时使用时)将向服务器发送create-parent标志,要求父母如果它们尚不存在则自动创建。

由于FileSystem实现在每个平台的行为上都不同,因此,对于本地文件系统(file://路径)创建调用,这是不可能的。

切换功能在FileContext的create API中可用,在Hadoop 2.x及更高版本中可用,它允许提供Options.CreateOptions.donotCreateParent()选项以禁止或控制此行为。