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

Reply via email to