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 2318532cba697f..4ca8f9605a06fa 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 @@ -87,7 +87,7 @@ public LocationPath(String location, Map props) { this(location, props, true); } - private LocationPath(String originLocation, Map props, boolean convertPath) { + public LocationPath(String originLocation, Map props, boolean convertPath) { isBindBroker = props.containsKey(HMSExternalCatalog.BIND_BROKER_NAME); String tmpLocation = originLocation; if (!(originLocation.contains(SCHEME_DELIM) || originLocation.contains(NONSTANDARD_SCHEME_DELIM))) { 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 653f3dce7d8cbd..65ac2df4ba9dad 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 @@ -122,13 +122,13 @@ public void bindDataSink(Optional insertCtx) setSerDeProperties(tSink); THiveLocationParams locationParams = new THiveLocationParams(); - LocationPath locationPath = new LocationPath(sd.getLocation(), targetTable.getHadoopProperties()); + LocationPath locationPath = new LocationPath(sd.getLocation(), targetTable.getHadoopProperties(), false); String location = locationPath.getPath().toString(); String storageLocation = locationPath.toStorageLocation().toString(); TFileType fileType = locationPath.getTFileTypeForBE(); if (fileType == TFileType.FILE_S3) { locationParams.setWritePath(storageLocation); - locationParams.setOriginalWritePath(sd.getLocation()); + locationParams.setOriginalWritePath(location); locationParams.setTargetPath(location); if (insertCtx.isPresent()) { HiveInsertCommandContext context = (HiveInsertCommandContext) insertCtx.get(); diff --git a/fe/fe-core/src/test/java/org/apache/doris/planner/HiveTableSinkTest.java b/fe/fe-core/src/test/java/org/apache/doris/planner/HiveTableSinkTest.java index 0efdff4fe85f40..b57bbcb51a2772 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/planner/HiveTableSinkTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/planner/HiveTableSinkTest.java @@ -95,6 +95,7 @@ public HMSCachedClient getClient() { hiveTableSink.bindDataSink(Optional.empty()); Assert.assertEquals(hiveTableSink.tDataSink.hive_table_sink.location.original_write_path, location); + Assert.assertEquals(hiveTableSink.tDataSink.hive_table_sink.location.target_path, location); } }