Github user xubo245 commented on a diff in the pull request:
https://github.com/apache/carbondata/pull/2207#discussion_r184838441
--- Diff:
core/src/main/java/org/apache/carbondata/core/metadata/SegmentFileStore.java ---
@@ -162,21 +167,44 @@ public static String writeSegmentFile(String
tablePath, String segmentId, String
for (CarbonFile file : indexFiles) {
folderDetails.getFiles().add(file.getName());
}
- String segmentRelativePath =
segmentPath.substring(tablePath.length(), segmentPath.length());
+ String segmentRelativePath = "/";
+ if (!supportFlatFolder) {
+ segmentRelativePath = segmentPath.substring(tablePath.length(),
segmentPath.length());
+ }
segmentFile.addPath(segmentRelativePath, folderDetails);
- String segmentFileFolder =
CarbonTablePath.getSegmentFilesLocation(tablePath);
+ String segmentFileFolder =
CarbonTablePath.getSegmentFilesLocation(tablePath);
CarbonFile carbonFile = FileFactory.getCarbonFile(segmentFileFolder);
if (!carbonFile.exists()) {
carbonFile.mkdirs(segmentFileFolder,
FileFactory.getFileType(segmentFileFolder));
}
String segmentFileName = genSegmentFileName(segmentId, UUID) +
CarbonTablePath.SEGMENT_EXT;
// write segment info to new file.
writeSegmentFile(segmentFile, segmentFileFolder + File.separator +
segmentFileName);
+
+ // Move all files to table path from segment folder.
+ if (supportFlatFolder) {
+ moveFromTempFolder(segmentPath, tablePath);
+ }
+
return segmentFileName;
}
return null;
}
+ /**
+ * Move the loaded data from temp folder to respective partition folder.
+ * @param tablePath
--- End diff --
Please add segmentPath and related describe
---