Yes, you shouldn't use paging predicate but do it yourself using the iterator. Something like (also can be parallelized)
IMap<Integer, Integer> map = jet.getHazelcastInstance().getMap("map");
int minItems = 1000;
int partitionCount = jet.getHazelcastInstance().getPartitionService().getPartitions().size();
int itemsPerPartition = (int) Math.ceil(minItems / (double)partitionCount);
MapProxyImpl<Integer, Integer> mapProxy = (MapProxyImpl<Integer, Integer>) map;
Map<Integer, Integer> subset = new HashMap<>();
for (int i = 0; i < partitionCount; i++) {
Iterator<Entry<Integer, Integer>> iterator = mapProxy.iterator(itemsPerPartition, i, false);
for (int j = 0; j < itemsPerPartition && iterator.hasNext(); j++) {
Entry<Integer, Integer> e = iterator.next();
subset.put(e.getKey(), e.getValue());
}
}