add the support for customized partitioner
16 files changed