[ https://issues.apache.org/jira/browse/BEAM-9946?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Darshan Jani updated BEAM-9946: ------------------------------- Summary: Enhance Partition transform to provide partitionfn with SideInputs (was: Enchance Partition transform to provide partitionfn with SideInputs) > Enhance Partition transform to provide partitionfn with SideInputs > ------------------------------------------------------------------ > > Key: BEAM-9946 > URL: https://issues.apache.org/jira/browse/BEAM-9946 > Project: Beam > Issue Type: New Feature > Components: sdk-java-core > Reporter: Darshan Jani > Priority: Major > Original Estimate: 96h > Remaining Estimate: 96h > > Currently _Partition_ transform can partition a collection into n collections > based on only _element_ value in _PartitionFn_ to decide on which partition a > particular element belongs to. > {code:java} > public interface PartitionFn<T> extends Serializable { > int partitionFor(T elem, int numPartitions); > } > public static <T> Partition<T> of(int numPartitions, PartitionFn<? super T> > partitionFn) { > return new Partition<>(new PartitionDoFn<T>(numPartitions, partitionFn)); > } > {code} > It will be useful to have additionally _sideInputs_ also be provided to > partition function. User will be able to write logic to use both _element_ > value and _sideInputs_ to decide on which partition a particular element > belongs to. > Proposed new API: > {code:java} > public interface PartitionWithSideInputsFn<T> extends Serializable { > int partitionFor(T elem, int numPartitions, Requirements requirements); > } > public static <T> Partition<T> of(int numPartitions, > PartitionWithSideInputsFn<? super T> partitionFn) { > ... > } > {code} -- This message was sent by Atlassian Jira (v8.3.4#803005)