Map<Path, List<String>> removeScheme(Map<Path, List<String>> pathToAliases) {
    Map<Path, List<String>> result = new HashMap<>();
    for (Map.Entry <Path, List<String>> entry : pathToAliases.entrySet()) {
      Path newKey = Path.getPathWithoutSchemeAndAuthority(entry.getKey());
      StringInternUtils.internUriStringsInPath(newKey);
      result.put(newKey, entry.getValue());
    }
    return result;
  }
This function is used to sample inputs for clauses like "TABLESAMPLE(1 PERCENT)"

First, splits are grouped by alias they are for. If one split serves more than one
alias or not for any sampled alias, we just directly add it to returned list.
Then we find a list of exclusive splits for every alias to be sampled.
For each alias, we start from position of seedNumber%totalNumber, and keep add
splits until the total size hits percentage.
@param splits
@return the sampled splits
ql/src/java/org/apache/hadoop/hive/ql/io/CombineHiveInputFormat.java