Re: LookupableTableSource question

2019-07-02 Thread JingsongLee
ubject:Re: LookupableTableSource question I probably messed up with the meaning of eval()..thus it is called once for every distinct key (that could be composed by a combination of fields)? So, the other question is..how do I enable Blink planner support? Since when is LATERAL TABLE available

Re: LookupableTableSource question

2019-07-01 Thread Flavio Pompermaier
t; > Best, Jingsong Lee > > > 来自阿里邮箱 iPhone版 > <https://itunes.apple.com/us/app/a-li-yun-you/id923828102?l=zh=1=8> > > --Original Mail -- > *From:*Flavio Pompermaier > *Date:*2019-06-28 22:53:31 > *Recipient:*JingsongLee > *CC:*user

Re: LookupableTableSource question

2019-06-28 Thread JingsongLee
: LookupableTableSource question Sorry I copied and pasted twice the current eval method...I'd do this: public void eval(Object... keys) { for (Object kkk : keys) { Row keyRow = Row.of(kkk); if (cache != null) { List cachedRows = cache.getIfPresent(keyRow

Re: LookupableTableSource question

2019-06-28 Thread Flavio Pompermaier
Sorry I copied and pasted twice the current eval method...I'd do this: public void eval(Object... keys) { for (Object kkk : keys) { Row keyRow = Row.of(kkk); if (cache != null) { List cachedRows = cache.getIfPresent(keyRow); if (cachedRows != null) {

Re: LookupableTableSource question

2019-06-28 Thread Flavio Pompermaier
This could be a good fit, I'll try to dig into it and see if it can be adapted to a REST service. The only strange thing I see is that the key of the local cache is per block of keys..am I wrong? Shouldn't it cycle over the list of passed keys? Right now it's the following: Cache> cache; public

Re: LookupableTableSource question

2019-06-28 Thread JingsongLee
Hi Flavio: I just implement a JDBCLookupFunction[1]. You can use it as table function[2]. Or use blink temporal table join[3] (Need blink planner support). I add a google guava cache in JDBCLookupFunction with configurable cacheMaxSize (avoid memory OOM) and cacheExpireMs(For the fresh of

LookupableTableSource question

2019-06-28 Thread Flavio Pompermaier
Hi to all, I have a use case where I'd like to enrich a stream using a rarely updated lookup table. Basically, I'd like to be able to set a refresh policy that is triggered either when a key was not found (a new key has probably been added in the mean time) or a configurable refresh-period has