Ich sende 3 Mal das gleiche Objekt an JavaPairDStream. Ich aktualisiere seinen Zustand, aber es ist 3 mal gespeichert. Das Drucken von JavaPairDStream bestätigt dies.Warum werden alle Elemente gedruckt, obwohl sie in mapWithState identisch sind
Function3<InputMessageKey, Optional<InputMessage>, State<InputMessage>, Tuple2<InputMessageKey, InputMessage>> mappingFunction = new Function3<InputMessageKey, Optional<InputMessage>, State<InputMessage>, Tuple2<InputMessageKey, InputMessage>>() {
@Override
public Tuple2<InputMessageKey, InputMessage> call(InputMessageKey key, Optional<InputMessage> value, State<InputMessage> state) {
InputMessage inputMessage = value.get();
Tuple2<InputMessageKey, InputMessage> output = new Tuple2<>(key, inputMessage);
state.update(inputMessage);
return output;
}
};
drucken stream:
([email protected],[email protected])
([email protected],[email protected])
([email protected],[email protected])
Vielen Dank! Das hat mein Problem gelöst! – Vlad
@Vlad Sie sind willkommen. –