I am building a streaming analytic that requires ~50 GB of initial state in-memory for a single table. ~50 GB is the amount of RAM used when I load the state into a Scala HashMap[String,String].
Can Flink handle having ~50 GB of state for a single table that grows over time?
Will I be able to perform lookups and updates to this table in a streaming fashion?
Notes:
- I cannot change the types to anything smaller.
- The state is used as a lookup for mapping one String to another String.
- It would take like three years for the state to double to 100 GB (aggressive estimate as the current state required ten years to produce).
- This Flink blog claims that the state size should not be a problem but I thought I would double check before spinning it up. Terabytes of state are mentioned.