1. A method implemented on at least one machine each having at least one processor, storage, and a communication platform connected to a network for event state management in stream processing, the method comprising: creating a batch of events based on a plurality of events inputted from an external source, wherein the batch of events is associated with a state of processing the batch of events and is to be processed in one or more stages; storing the batch of events in a persistent storage; processing the batch of events in the one or more stages by at least one of an online event processing system and an offline event process system; updating the state associated with the batch of events when the processing of the one or more stages is completed, wherein the state associated with the batch of events comprises one or more sub-states corresponding to the one or more stages; updating each sub-state of the one or more sub-states to “complete” once the batch of events has been processed in the corresponding stage of the one or more stages; and updating the state associated with the batch of events to “committed” once the batch of events has been processed in all of the one or more stages.