Состояние флинка | проверка последних данных-это первые данные

#apache-flink

Вопрос:

Как проверить, что последние данные являются первыми данными, использующими состояние Flink

 override def flatMap(value: myData, out: Collector[(String, Double, Double)]): Unit = {  val lastValue = lastValueState.value()  val diff = (value.item_data-lastValue).abs  if (diff gt; Threshold)  out.collect((value.item_id,lastValue,value.item_data))   lastValueState.update(value.item_data)  }  

Ответ №1:

ValueState#value() возвращает значение null, если ранее ничего не было сохранено для ключа, который в данный момент находится в области действия (ключ, соответствующий текущему value обрабатываемому).