data partitioner based on split