THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
Public Interfaces
Code Block |
---|
/** * Joins theJoin records of this {@code KTable} towith another table{@code keyedKTable} onusing anon-windowed differentinner keyjoin. Updates from this table will* join<p> * 1 to 1 on* theThis otheris table.a Updatesforeign tokey thejoin, otherwhere tablethe willjoining inducekey ais joindetermined onby eachthe record in this table that has * that specific foreign key. * * @param other - the table containing the records{@code foreignKeyExtractor}. * * @param other the other {@code KTable} to be joined onwith this {@code KTable}. Keyed by KO. * @param foreignKeyExtractor -a {@link Function} that extracts the key (KO) from this table's value (V). If the * @param joiner - specifies* how to join the records from both tables * @param materialized - the materialized output store (optional) * @param <VR> the value type of the result {@code KTable} result *is @param <KO> the keynull, the update is ignored as invalid. * @param joiner a {@link ValueJoiner} that computes the join result for a pair of matching records * @param <VR> the value type of the otherresult {@code KTable} * @param <VO> the value type of the other {@code KTable} * @return */ <VR, KO, VO> KTable<K, VR> join(final KTable<KO, VO> other, @param <KO> the key type of the other {@code KTable} * @param <VO> the value type of the other {@code KTable} * @return a {@code KTable} that contains the result of joining this table with {@code other} */ <VR, KO, VO> KTable<K, VR> join(final KTable<KO, VO> other, final Function<V, KO> foreignKeyExtractor, final ValueJoiner<V, VO, VR> joiner); /** * Join records of this {@code KTable} with another {@code KTable} using non-windowed inner join. * <p> * This is a foreign key join, where the joining key is determined by the {@code foreignKeyExtractor}. * * @param other the other {@code KTable} to be joined with this {@code KTable}. Keyed by KO. * @param foreignKeyExtractor a {@link Function} that extracts the key (KO) from this table's value (V). If the * result is null, the update is ignored as invalid. * @param joiner a {@link ValueJoiner} that computes the join result for a pair of matching records * @param named a {@link Named} config used to name the processor in the topology * @param <VR> the value type of the result {@code KTable} * @param <KO> the key type of the other {@code KTable} * @param <VO> the value type of the other {@code KTable} * @return a {@code KTable} that contains the result of joining this table with {@code other} */ <VR, KO, VO> KTable<K, VR> join(final KTable<KO, VO> other, final Function<V, KO> foreignKeyExtractor, final ValueJoiner<V, VO, VR> joiner, final Named named); /** * Join records of this {@code KTable} with another {@code KTable} using non-windowed inner join. * <p> * This is a foreign key join, where the joining key is determined by the {@code foreignKeyExtractor}. * * @param other the other {@code KTable} to be joined with this {@code KTable}. Keyed by KO. * @param foreignKeyExtractor a {@link Function} that extracts the key (KO) from this table's value (V). If the * result is null, the update is ignored as invalid. * @param joiner a {@link ValueJoiner} that computes the join result for a pair of matching records * @param materialized a {@link Materialized} that describes how the {@link StateStore} for the resulting {@code KTable} * should be materialized. Cannot be {@code null} * @param <VR> the value type of the result {@code KTable} * @param <KO> the key type of the other {@code KTable} * @param <VO> the value type of the other {@code KTable} * @return a {@code KTable} that contains the result of joining this table with {@code other} */ <VR, KO, VO> KTable<K, VR> join(final KTable<KO, VO> other, final Function<V, KO> foreignKeyExtractor, final ValueJoiner<V, VO, VR> joiner, final Materialized<K, VR, KeyValueStore<Bytes, byte[]>> materialized); /** * Join records of this {@code KTable} with another {@code KTable} using non-windowed inner join. * <p> * This is a foreign key join, where the joining key is determined by the {@code foreignKeyExtractor}. * * @param other the other {@code KTable} to be joined with this {@code KTable}. Keyed by KO. * @param foreignKeyExtractor a {@link Function} that extracts the key (KO) from this table's value (V). If the * result is null, the update is ignored as invalid. * @param joiner a {@link ValueJoiner} that computes the join result for a pair of matching records * @param named a {@link Named} config used to name the processor in the topology * @param materialized a {@link Materialized} that describes how the {@link StateStore} for the resulting {@code KTable} * should be materialized. Cannot be {@code null} * @param <VR> the value type of the result {@code KTable} * @param <KO> the key type of the other {@code KTable} * @param <VO> the value type of the other {@code KTable} * @return a {@code KTable} that contains the result of joining this table with {@code other} */ <VR, KO, VO> KTable<K, VR> join(final KTable<KO, VO> other, final Function<V, KO> foreignKeyExtractor, final ValueJoiner<V, VO, VR> joiner, final Named named, final Materialized<K, VR, KeyValueStore<Bytes, byte[]>> materialized); /** * Join records of this {@code KTable} with another {@code KTable} using non-windowed left join. * <p> * This is a foreign key join, where the joining key is determined by the {@code foreignKeyExtractor}. * * @param other the other {@code KTable} to be joined with this {@code KTable}. Keyed by KO. * @param foreignKeyExtractor a {@link Function} that extracts the key (KO) from this table's value (V). If the * result is null, the update is ignored as invalid. * @param joiner a {@link ValueJoiner} that computes the join result for a pair of matching records * @param <VR> the value type of the result {@code KTable} * @param <KO> the key type of the other {@code KTable} * @param <VO> the value type of the other {@code KTable} * @return a {@code KTable} that contains only those records that satisfy the given predicate */ <VR, KO, VO> KTable<K, VR> leftJoin(final KTable<KO, VO> other, final Function<V, KO> foreignKeyExtractor, final ValueJoiner<V, VO, VR> joiner); /** * Join records of this {@code KTable} with another {@code KTable} using non-windowed left join. * <p> * This is a foreign key join, where the joining key is determined by the {@code foreignKeyExtractor}. * * @param other the other {@code KTable} to be joined with this {@code KTable}. Keyed by KO. * @param foreignKeyExtractor a {@link Function} that extracts the key (KO) from this table's value (V) If the * result is null, the update is ignored as invalid. * @param joiner a {@link ValueJoiner} that computes the join result for a pair of matching records * @param named a {@link Named} config used to name the processor in the topology * @param <VR> the value type of the result {@code KTable} * @param <KO> the key type of the other {@code KTable} * @param <VO> the value type of the other {@code KTable} * @return a {@code KTable} that contains the result of joining this table with {@code other} */ <VR, KO, VO> KTable<K, VR> leftJoin(final KTable<KO, VO> other, final Function<V, KO> foreignKeyExtractor, final ValueJoiner<V, VO, VR> joiner, final Named named); /** * Join records of this {@code KTable} with another {@code KTable} using non-windowed left join. * <p> * This is a foreign key join, where the joining key is determined by the {@code foreignKeyExtractor}. * * @param other the other {@code KTable} to be joined with this {@code KTable}. Keyed by KO. * @param foreignKeyExtractor a {@link Function} that extracts the key (KO) from this table's value (V). If the * result is null, the update is ignored as invalid. * @param joiner a {@link ValueJoiner} that computes the join result for a pair of matching records * @param materialized a {@link Materialized} that describes how the {@link StateStore} for the resulting {@code KTable} * should be materialized. Cannot be {@code null} * @param <VR> the value type of the result {@code KTable} * @param <KO> the key type of the other {@code KTable} * @param <VO> the value type of the other {@code KTable} * @return a {@code KTable} that contains the result of joining this table with {@code other} */ <VR, KO, VO> KTable<K, VR> leftJoin(final KTable<KO, VO> other, final Function<V, KO> foreignKeyExtractor, final ValueJoiner<V, VO, VR> joiner, final Materialized<K, VR, KeyValueStore<Bytes, byte[]>> materialized); /** * Join records of this {@code KTable} with another {@code KTable} using non-windowed left join. * <p> * This is a foreign key join, where the joining key is determined by the {@code foreignKeyExtractor}. * * @param other the other {@code KTable} to be joined with this {@code KTable}. Keyed by KO. * @param foreignKeyExtractor a {@link Function} that extracts the key (KO) from this table's value (V) If the * result is null, the update is ignored as invalid. * @param joiner a {@link ValueJoiner} that computes the join result for a pair of matching records * @param named a {@link Named} config used to name the processor in the topology * @param materialized a {@link Materialized} that describes how the {@link StateStore} for the resulting {@code KTable} * should be materialized. Cannot be {@code null} * @param <VR> the value type of the result {@code KTable} * @param <KO> the key type of the other {@code KTable} * @param <VO> the value type of the other {@code KTable} * @return a {@code KTable} that contains the result of joining this table with {@code other} */ <VR, KO, VO> KTable<K, VR> leftJoin(final KTable<KO, VO> other, final Function<V, KO> foreignKeyExtractor, final ValueJoiner<V, ValueMapper<VVO, KO>VR> foreignKeyExtractorjoiner, final ValueJoiner<VNamed named, VO, VR> joiner, final Materialized<K, VR, KeyValueStore<Bytes, byte[]>> materialized); |
Workflow
The overall process is outlined below.
Gliffy Diagram macroId 1697ad3c-3394-468e-af23-ed872cdd9138 displayName UpdatedOverview name UpdatedOverview pagePin 3
Gliffy Diagram name JohnWorkflow pagePin 11
...