You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@beam.apache.org by "Darshan Jani (Jira)" <ji...@apache.org> on 2020/05/11 01:39:00 UTC
[jira] [Created] (BEAM-9946) Enchance Partition transform to
provide partitionfn with SideInputs
Darshan Jani created BEAM-9946:
----------------------------------
Summary: Enchance 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
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)