code: protected Iterable<Row<String, String>> getRows(EnumSet<?> columns) throws Exception {
          int shardCount = config.getShardCount();
  
          List<Future<Rows<String, String>>> futures = new ArrayList<Future<Rows<String, String>>>();
          for (int i = 0; i < shardCount; i++) {
              futures.add(cassandra.selectAsync(generateSelectByShardCql(columns, i)));
          }
  
          List<Row<String, String>> rows = new LinkedList<Row<String, String>>();
          for (Future<Rows<String, String>> f: futures) {
              Rows<String, String> shardRows = f.get();
              Iterables.addAll(rows, shardRows);
          }
  
          return rows;
      }
docs: Get all of the rows in in the table. Attempts to reduce the load on cassandra by splitting up the query into smaller sub-queries
  @param columns which columns to select
  @return result rows