diff --git a/fe/fe-core/src/main/java/org/apache/doris/common/util/LocationPath.java b/fe/fe-core/src/main/java/org/apache/doris/common/util/LocationPath.java index e9fb932b6d..005a8f2cb8 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/common/util/LocationPath.java +++ b/fe/fe-core/src/main/java/org/apache/doris/common/util/LocationPath.java @@ -43,6 +43,7 @@ import java.nio.file.InvalidPathException; import java.nio.file.Paths; import java.util.HashMap; import java.util.Map; +import java.util.UUID; public class LocationPath { private static final Logger LOG = LogManager.getLogger(LocationPath.class); @@ -398,6 +399,12 @@ public class LocationPath { return new Path(location); } + public static String getTempWritePath(String loc, String prefix) { + Path tempRoot = new Path(loc, prefix); + Path tempPath = new Path(tempRoot, UUID.randomUUID().toString().replace("-", "")); + return tempPath.toString(); + } + @Override public String toString() { return get(); diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/HiveTableSink.java b/fe/fe-core/src/main/java/org/apache/doris/planner/HiveTableSink.java index 4652c132a9..c2debe3a4a 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/HiveTableSink.java +++ b/fe/fe-core/src/main/java/org/apache/doris/planner/HiveTableSink.java @@ -47,7 +47,6 @@ import java.util.HashSet; import java.util.List; import java.util.Optional; import java.util.Set; -import java.util.UUID; import java.util.stream.Collectors; public class HiveTableSink extends DataSink { @@ -153,7 +152,7 @@ public class HiveTableSink extends DataSink { private String createTempPath(String location) { String user = ConnectContext.get().getUserIdentity().getQualifiedUser(); - return location + "/.doris_staging/" + user + "/" + UUID.randomUUID().toString().replace("-", ""); + return LocationPath.getTempWritePath(location, "/tmp/.doris_staging/" + user); } private void setCompressType(THiveTableSink tSink, TFileFormatType formatType) {