You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@beam.apache.org by Talat Uyarer <tu...@paloaltonetworks.com> on 2021/05/07 16:45:30 UTC

How Beam SQL Side Input refresh/update

Hi,

Based on Join documentation. If I have a Join with Unbounded and Bounded

> For this type of JOIN bounded input is treated as a side-input by the
> implementation. This means that window/trigger is inherented from upstreams.


On my pipeline I dont have any triggering or window. I use a global window
on the Unbounded side. Basically I read from kafka  data and I want to join
with static data to enrich the kafka message. Not very frequently I want to
update my static data. I am trying to understand How i can update when I
update my static data.

Thanks

Re: How Beam SQL Side Input refresh/update

Posted by Andrew Pilloud <ap...@google.com>.
We call this a Slowly Changing Dimensions join, there was a previous effort
<https://docs.google.com/document/d/1LDY_CtsOJ8Y_zNv1QtkP6AGFrtzkj1q5EW_gSChOIvg/edit>
to add this to Beam that is partially implemented in Java
<https://github.com/apache/beam/pull/11477>. Unfortunately we haven't
finished the work on the SQL side, I haven't looked into what is involved
to finish it. It might be possible to do this just using PeriodicImpulse to
refresh your static dataset, but it might also require changes to sql in
BeamSideInputJoinRel
<https://github.com/apache/beam/blob/243128a8fc52798e1b58b0cf1a271d95ee7aa241/sdks/java/extensions/sql/src/main/java/org/apache/beam/sdk/extensions/sql/impl/rel/BeamSideInputJoinRel.java>
.

You could also take a look at this stack overflow post for ideas:
https://stackoverflow.com/questions/41570276/joining-a-stream-against-a-table-in-dataflow

Andrew

On Fri, May 7, 2021 at 9:45 AM Talat Uyarer <tu...@paloaltonetworks.com>
wrote:

> Hi,
>
> Based on Join documentation. If I have a Join with Unbounded and Bounded
>
>> For this type of JOIN bounded input is treated as a side-input by the
>> implementation. This means that window/trigger is inherented from upstreams.
>
>
> On my pipeline I dont have any triggering or window. I use a global window
> on the Unbounded side. Basically I read from kafka  data and I want to join
> with static data to enrich the kafka message. Not very frequently I want to
> update my static data. I am trying to understand How i can update when I
> update my static data.
>
> Thanks
>