private boolean runFallbackDistCp(Path sourcePath, Path targetPath, UserGroupInformation proxyUser,
      HiveConf clonedConf)
      throws IOException {
     // do we create a new conf and only here provide this additional option so that we get away from
    // differences of data in two location for the same directories ?
    // basically add distcp.options.delete to hiveconf new object ?
    boolean response = FileUtils.distCp(
        sourcePath.getFileSystem(clonedConf), // source file system
        Collections.singletonList(sourcePath),  // list of source paths
        targetPath,
        false,
        proxyUser,
        clonedConf,
        ShimLoader.getHadoopShims());
    return response;
  }
DirCopyTask, mainly to be used to copy External table data.
ql/src/java/org/apache/hadoop/hive/ql/exec/repl/DirCopyTask.java