diff --git a/hoodie-common/src/main/java/com/uber/hoodie/common/table/view/HoodieTableFileSystemView.java b/hoodie-common/src/main/java/com/uber/hoodie/common/table/view/HoodieTableFileSystemView.java index 2473ade75bd28..f10e6c2909a2f 100644 --- a/hoodie-common/src/main/java/com/uber/hoodie/common/table/view/HoodieTableFileSystemView.java +++ b/hoodie-common/src/main/java/com/uber/hoodie/common/table/view/HoodieTableFileSystemView.java @@ -117,6 +117,8 @@ public Stream> getEveryVersionInPartition(String partitionP protected FileStatus[] listDataFilesInPartition(String partitionPathStr) { Path partitionPath = new Path(metaClient.getBasePath(), partitionPathStr); try { + // Create the path if it does not exist already + FSUtils.createPathIfNotExists(fs, partitionPath); return fs.listStatus(partitionPath, path -> path.getName() .contains(metaClient.getTableConfig().getROFileFormat().getFileExtension())); } catch (IOException e) { diff --git a/hoodie-common/src/main/java/com/uber/hoodie/common/util/FSUtils.java b/hoodie-common/src/main/java/com/uber/hoodie/common/util/FSUtils.java index 77448d0589101..90aea0e67fb55 100644 --- a/hoodie-common/src/main/java/com/uber/hoodie/common/util/FSUtils.java +++ b/hoodie-common/src/main/java/com/uber/hoodie/common/util/FSUtils.java @@ -350,4 +350,10 @@ public static void deleteOlderRollbackMetaFiles(FileSystem fs, String metaPath, } }); } + + public static void createPathIfNotExists(FileSystem fs, Path partitionPath) throws IOException { + if(!fs.exists(partitionPath)) { + fs.mkdirs(partitionPath); + } + } }