This is an automated email from the ASF dual-hosted git repository. morningman pushed a commit to branch branch-2.1 in repository https://gitbox.apache.org/repos/asf/doris.git
commit 70489fe749cf3194872edc2199ebd286495124ea Author: slothever <18522955+w...@users.noreply.github.com> AuthorDate: Fri Mar 22 10:37:26 2024 +0800 [fix](insert)fix hive table sink write path (#32587) issue: #31442 fix hive table sink write path to hdfs://${hdfs_root}/tmp/.doris_staging/${user} --- .../src/main/java/org/apache/doris/common/util/LocationPath.java | 7 +++++++ .../src/main/java/org/apache/doris/planner/HiveTableSink.java | 3 +-- 2 files changed, 8 insertions(+), 2 deletions(-) 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 e9fb932b6dd..005a8f2cb84 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 4652c132a9e..c2debe3a4af 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) { --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org