generate splits by min max size, and align to HDFS block when possible

generate splits by min max size, and align to HDFS block when possible