diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/DagUtils.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/DagUtils.java index 0e75f6e5e8..63460645d8 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/DagUtils.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/DagUtils.java @@ -59,6 +59,7 @@ import org.apache.hadoop.fs.FileStatus; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; +import org.apache.hadoop.fs.FileUtil; import org.apache.hadoop.hive.common.FileUtils; import org.apache.hadoop.hive.conf.HiveConf; import org.apache.hadoop.hive.conf.HiveConf.ConfVars; @@ -1168,7 +1169,10 @@ public LocalResource localizeResource( return createLocalResource(destFS, dest, type, LocalResourceVisibility.PRIVATE); } try { - destFS.copyFromLocalFile(false, false, src, dest); + if (src.toUri().getScheme()!=null) + FileUtil.copy(src.getFileSystem(conf), src, destFS, dest, false, false, conf); + else + destFS.copyFromLocalFile(false, false, src, dest); synchronized (notifier) { notifier.notifyAll(); // Notify if we have successfully copied the file. }