Hello, Is there an example setup of Queryable State for a Local Embedded Environment?
I am trying to execute Flink programs from within IntelliJ. Any help would be appreciated! Even if not, if there are other examples where QueryableState can be executed in a standalone cluster, that would also be good help. Thanks. > On 10-Feb-2021, at 9:05 AM, Kezhu Wang <kez...@gmail.com> wrote: > > (a) It is by design. For keyed state, you can only access state for that key, > not others. If you want one value per key, ValueState fits more appropriate > that MapState. > (b) state-processor-api aims to access/create/modify/upgrade offline > savepoint but not running state. Queryable state may meet your requirement, > but it is not actively developed for a while according to my observation and > still beta. > > Queryable state: > https://ci.apache.org/projects/flink/flink-docs-release-1.12/dev/stream/state/queryable_state.html > > <https://ci.apache.org/projects/flink/flink-docs-release-1.12/dev/stream/state/queryable_state.html> > > On February 9, 2021 at 22:09:29, Sandeep khanzode (sand...@shiftright.ai > <mailto:sand...@shiftright.ai>) wrote: > >> Hello, >> >> I am creating a class that extends RichCoFlatMapFunction. I need to >> connect() two streams to basically share the state of one stream in another. >> >> This is what I do: >> private transient MapState<KeyClass, ValueClass> state; >> @Override >> public void open(Configuration parameters) throws Exception { >> MapStateDescriptor<KeyClass, ValueClass> stateDescriptor = >> new MapStateDescriptor<>(“abc-saved-state", >> Types.POJO(KeyClass.class), >> Types.POJO(ValueClass.class)); >> state = getRuntimeContext().getMapState(stateDescriptor); >> >> This works correctly. >> >> >> I have two questions: >> (a) Whenever I debug, I can only see the current key in the MapState, not >> all the possible keys that were created before and saved. Next time, I get a >> hit for another key, I will only see the other key and not the rest of >> previous keys. Is it by design or am I missing something? >> >> (b) Can I somehow access this state beyond the class that holds the state? >> I.e. can I access the state in some other class? If not, can I use the >> https://ci.apache.org/projects/flink/flink-docs-release-1.9/dev/libs/state_processor_api.html >> >> <https://ci.apache.org/projects/flink/flink-docs-release-1.9/dev/libs/state_processor_api.html> >> to do this? Is that the correct way to access the running state of one >> stream elsewhere in the program without corrupting it? >> >> >> Your response will be greatly appreciated. I will be happy to add more >> details if required. >> >> Thanks, >> Sandeep Ramesh Khanzode