Hi Rion,

as far as I know we also don't support broadcast streaming joins in Table API/SQL.

Are you sure that you need a broadcast pattern? Or would a regular hash join using connect() with a CoProcessFunction also work for you? Maybe with an artifical key to spread the load more evently?

What we support both in Table API/SQL and DataStream API are async lookups to external sources. E.g. Table API JDBC has lookup functionality.

I hope this helps a bit.

Regards,
Timo



On 18.06.21 14:00, Piotr Nowojski wrote:
Hi,

As far as I know there are no plans to support other state backends with BroadcastState. I don't know about any particular technical limitation, it probably just hasn't been done. Also I don't know how much effort that would be. Probably it wouldn't be easy.

 Timo, can you chip in how for example Table API/SQL is solving this problem? I'm pretty sure Tablie API is using broadcast joins after all?

Best,
Piotrek

czw., 17 cze 2021 o 02:53 Rion Williams <rionmons...@gmail.com <mailto:rionmons...@gmail.com>> napisał(a):

    Hey Flink folks,

    I was discussing the use of the Broadcast Pattern with some
    colleagues today for a potential enrichment use-case and noticed
    that it wasn’t currently backed by RocksDB. This seems to indicate
    that it would be solely limited to the memory allocated, which might
    not support a large enrichment data set that our use case might run
    into (thousands of tenants with users and various other entities to
    enrich by).

    Are there any plans to eventually add support for BroadcastState to
    be backed by a non-memory source? Or perhaps some technical
    limitations that might not make that possible? If the latter is
    true, is there a preferred pattern for handling enrichment/lookups
    for a very large set of data that may not be memory-bound?

    Any advice or thoughts would be welcome!

    Rion


Reply via email to