Hi,

You have basically a motivating example between Temporal Table Joins [1]. 
Please take a look at them.

Piotrek

[1] 
https://ci.apache.org/projects/flink/flink-docs-stable/dev/table/streaming/temporal_tables.html
 
<https://ci.apache.org/projects/flink/flink-docs-stable/dev/table/streaming/temporal_tables.html>

> On 20 Jan 2020, at 17:02, Dominik Wosiński <wos...@gmail.com> wrote:
> 
> Hello,
> I wanted to ask whether the idea and the general concept that I have is
> correct or if there is anything better in Flink to use.
> 
> Say, I that I have 3 different streams :
> 
>   - currency_codes, which has the name of the currency. It has the
>   following fields  (*currency_iso_code, tst, currency_name)*
>   - exchange_rate, which is a rarely changing stream that has data bout
>   exchange rates for different currencies. It has the following
> fields (*currency_iso_code,
>   tst, rate*)
>   - fares, which represents taxi fares. It has the following fields
> (*currency_iso_code,
>   tst, price*)
> 
> Generally, let's assume that this is the simple system that allows drivers
> to charge clients in different currencies, but in the end, we want to have
> all calculations in USD, but we want to have the *name* of the original
> currency.
> 
> The current idea that I have is that since *currency_codes* have the names
> of the currencies and it does not change frequently (say It will change
> once a month tops) we should use this as a *BroadcastState *to be able to
> join it with *exchange_rate*. After that, when we have the name of the
> foreign currency and the exchange rate, we can use a LATERAL TABLE join to
> join it with Fares.
> 
> The question is, whether my assumptions are correct and if there is any
> better idea to solve this problem?
> 
> Thanks in advance,
> Best Regards,
> Dom.

Reply via email to