需求:监控温度传感器的温度值,如果温度值在10秒钟之内(processing time)连续上升,则报警。
package com.run.wc
import org.apache.flink.api.common.state.{
ValueState, ValueStateDescriptor}
import org.apache.flink.streaming.api.scala.{
DataStream, StreamExecutionEnvironment}
import org.apache.flink.api.scala._
import org.apache.flink.streaming.api.functions.KeyedProcessFunction
import org.apache.flink.streaming.api.functions.timestamps.BoundedOutOfOrdernessTimestampExtractor
import org.apache.flink.streaming.api.windowing.time.Time
import org.apache.flink.util.Collector
/**
* @author 霄嵩
*/
object ProcessFunctionTest {
def main(args: Array[String]): Unit = {
val env = StreamExecutionEnvironment.getExecutionEnvironment
env.setParallelism(1)
//接收数据
val dataStream = env.socketTextStream("master", 9999)
//分隔接收的数据,并返回一个Sensor实例对象
val mapStream: DataStream[