繁体   English   中英

为什么我不能用这个制作带键的 stream

[英]Why I'm not able to make a keyed stream out of this

我一直在尝试不同的方法,但无法正确。 这段代码有什么问题?

  def main(args: Array[String]): Unit = {
    val TEMPERATURE_THRESHOLD: Double = 50.00

    val see: StreamExecutionEnvironment = StreamExecutionEnvironment.getExecutionEnvironment

    val properties = new Properties()
    properties.setProperty("bootstrap.servers", "localhost:9092")
    properties.setProperty("zookeeper.connect", "localhost:2181")

    val src  = see.addSource(new FlinkKafkaConsumer010("broadcast",
      new JSONKeyValueDeserializationSchema(true), properties))

    src.map {
      v =>
        val key = v.get("locationID").asText
        val temperature = v.get("temp").asDouble()
        (key, temperature)
    }
        .keyBy(v => v._2)


    src.print()
    see.execute()

    case class Event(locationID: String, temp: Double)

当 flink 读取到阈值以上的值时,我想要一个警报

[{"locationID": "ASK","temp": 35},
{"locationID": "BC","temp": 45},
{"locationID":"CHD","temp": 55},
{"locationID": "RAJ","temp": 65},
{"locationID": "EGY","temp": 55}]

我得到的错误是:

作业执行失败

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM