private static List<KeyRange> getSplits( TableRef table, final Scan scan, final NavigableMap<HRegionInfo, ServerName> regions, final ScanRanges scanRanges) throws SQLException { PhoenixConnection connection = DriverManager.getConnection(getUrl(), TEST_PROPERTIES).unwrap(PhoenixConnection.class); StatementContext context = new StatementContext(connection, null, Collections.emptyList(), 0, scan); context.setScanRanges(scanRanges); SkipRangeParallelIteratorRegionSplitter splitter = SkipRangeParallelIteratorRegionSplitter.getInstance(context, table); List<KeyRange> keyRanges = splitter.getSplits(); Collections.sort( keyRanges, new Comparator<KeyRange>() { @Override public int compare(KeyRange o1, KeyRange o2) { return Bytes.compareTo(o1.getLowerRange(), o2.getLowerRange()); } }); return keyRanges; }