K
- this key type ; key type for the left (primary) tableKO
- other key type ; key type for the right (foreign key) tablepublic class TableJoined<K,KO> extends Object
TableJoined
class represents optional parameters that can be passed to
KTable#join(KTable,Function,...)
and
KTable#leftJoin(KTable,Function,...)
operations, for foreign key joins.Modifier and Type | Field and Description |
---|---|
protected String |
name |
protected StreamPartitioner<KO,Void> |
otherPartitioner |
protected StreamPartitioner<K,Void> |
partitioner |
Modifier | Constructor and Description |
---|---|
protected |
TableJoined(TableJoined<K,KO> tableJoined) |
Modifier and Type | Method and Description |
---|---|
static <K,KO> TableJoined<K,KO> |
as(String name)
Create an instance of
TableJoined with base name for all components of the join, including internal topics
created to complete the join. |
static <K,KO> TableJoined<K,KO> |
with(StreamPartitioner<K,Void> partitioner,
StreamPartitioner<KO,Void> otherPartitioner)
Create an instance of
TableJoined with partitioner and otherPartitioner StreamPartitioner instances. |
TableJoined<K,KO> |
withName(String name)
Set the base name used for all components of the join, including internal topics
created to complete the join.
|
TableJoined<K,KO> |
withOtherPartitioner(StreamPartitioner<KO,Void> otherPartitioner)
Set the custom other
StreamPartitioner to be used as part of computing the join. |
TableJoined<K,KO> |
withPartitioner(StreamPartitioner<K,Void> partitioner)
Set the custom
StreamPartitioner to be used as part of computing the join. |
protected final StreamPartitioner<K,Void> partitioner
protected final StreamPartitioner<KO,Void> otherPartitioner
protected final String name
protected TableJoined(TableJoined<K,KO> tableJoined)
public static <K,KO> TableJoined<K,KO> with(StreamPartitioner<K,Void> partitioner, StreamPartitioner<KO,Void> otherPartitioner)
TableJoined
with partitioner and otherPartitioner StreamPartitioner
instances.
null
values are accepted and will result in the default partitioner being used.K
- this key type ; key type for the left (primary) tableKO
- other key type ; key type for the right (foreign key) tablepartitioner
- a StreamPartitioner
that captures the partitioning strategy for the left (primary)
table of the foreign key join. Specifying this option does not repartition or otherwise
affect the source table; rather, this option informs the foreign key join on how internal
topics should be partitioned in order to be co-partitioned with the left join table.
The partitioning strategy must depend only on the message key and not the message value,
else the source table is not supported with foreign key joins. This option may be left
null
if the source table uses the default partitioner.otherPartitioner
- a StreamPartitioner
that captures the partitioning strategy for the right (foreign
key) table of the foreign key join. Specifying this option does not repartition or otherwise
affect the source table; rather, this option informs the foreign key join on how internal
topics should be partitioned in order to be co-partitioned with the right join table.
The partitioning strategy must depend only on the message key and not the message value,
else the source table is not supported with foreign key joins. This option may be left
null
if the source table uses the default partitioner.TableJoined
instance with the provided partitionerspublic static <K,KO> TableJoined<K,KO> as(String name)
TableJoined
with base name for all components of the join, including internal topics
created to complete the join.K
- this key type ; key type for the left (primary) tableKO
- other key type ; key type for the right (foreign key) tablename
- the name used as the base for naming components of the join including internal topicsTableJoined
instance configured with the name
public TableJoined<K,KO> withPartitioner(StreamPartitioner<K,Void> partitioner)
StreamPartitioner
to be used as part of computing the join.
null
values are accepted and will result in the default partitioner being used.partitioner
- a StreamPartitioner
that captures the partitioning strategy for the left (primary)
table of the foreign key join. Specifying this option does not repartition or otherwise
affect the source table; rather, this option informs the foreign key join on how internal
topics should be partitioned in order to be co-partitioned with the left join table.
The partitioning strategy must depend only on the message key and not the message value,
else the source table is not supported with foreign key joins. This option may be left
null
if the source table uses the default partitioner.TableJoined
instance configured with the partitioner
public TableJoined<K,KO> withOtherPartitioner(StreamPartitioner<KO,Void> otherPartitioner)
StreamPartitioner
to be used as part of computing the join.
null
values are accepted and will result in the default partitioner being used.otherPartitioner
- a StreamPartitioner
that captures the partitioning strategy for the right (foreign
key) table of the foreign key join. Specifying this option does not repartition or otherwise
affect the source table; rather, this option informs the foreign key join on how internal
topics should be partitioned in order to be co-partitioned with the right join table.
The partitioning strategy must depend only on the message key and not the message value,
else the source table is not supported with foreign key joins. This option may be left
null
if the source table uses the default partitioner.TableJoined
instance configured with the otherPartitioner
public TableJoined<K,KO> withName(String name)
name
- the name used as the base for naming components of the join including internal topicsTableJoined
instance configured with the name