Json 如何在flink kafka中省略空值异常,任何帮助都可以

Json 如何在flink kafka中省略空值异常,任何帮助都可以,json,scala,apache-kafka,sbt,apache-flink,Json,Scala,Apache Kafka,Sbt,Apache Flink,我正在尝试编写一个代码,当温度高于阈值温度(如代码中定义的)时创建警报,但键控流产生了问题。我是新来的弗林克和中级斯卡拉。我需要这方面的帮助 我几乎什么都试过了 def main(args: Array[String]): Unit = { val TEMPERATURE_THRESHOLD: Double = 50.00 val see: StreamExecutionEnvironment = StreamExecutionEnvironment.getExecution

我正在尝试编写一个代码,当温度高于阈值温度(如代码中定义的)时创建警报,但键控流产生了问题。我是新来的弗林克和中级斯卡拉。我需要这方面的帮助

我几乎什么都试过了

 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))


    var data = src.map { v => {
      val loc = v.get("locationID").asInstanceOf[String]
      val temperature = v.get("temp").asDouble()
    //val json = Map("locationID" -> locationID, "temp" -> v.temp)
    //val jsonVal = JSONObject(json).toString()
      (loc, temperature)
    }}
 data = data
      .keyBy(
        v => v._1
      )
我想我的元组是从某处获取空值,我需要帮助忽略该错误

错误:-

Exception in thread "main" org.apache.flink.runtime.client.JobExecutionException: Job execution failed.
...

    at flinkBroadcast1$.main(flinkBroadcast1.scala:59)
    at flinkBroadcast1.main(flinkBroadcast1.scala)
Caused by: java.lang.Exception: org.apache.flink.streaming.runtime.tasks.ExceptionInChainedOperatorException: Could not forward element to next operator
...
Caused by: org.apache.flink.streaming.runtime.tasks.ExceptionInChainedOperatorException: Could not forward element to next operator
...
Caused by: java.lang.NullPointerException

负载中的某个地方存在无效的json(实际上是第1行第21列)。类似于
{key]:locationID
locationID[
的内容是无效的json。解析器应为
true
false
、或
null
。是否可以包含json负载?``[{locationID:“ASK”、“temp”:35}、{locationID:“BC”、“temp”:45}、{locationID:“CHD”、“temp”:55}、{locationID:“RAJ”、“temp”:65},{“locationID”:“EGY”,“temp”:55}]``感谢您的帮助,这里是JSON负载(这只是一个示例)Ok,但不仅仅是任何示例。您发布的JSON是否会引发错误?在任何情况下,解析器的预期值对您发布的代码没有多大意义(
true
false
null
),两者都不是字符串值。因此,您可能需要查看它。我建议您对该问题进行适当的查看。每次我回来,您的问题都不同。现在您有一个
numpointerException
,我不知道这是从哪里来的,您没有提供足够的详细信息来回答该问题。从我的角度来看,您最初的任务ion的回答是@fabianhueske,你的第二个问题是我的第一个评论。至于你的第三个问题,我会说这与你问题的标题无关。@PedroRodrigues好的,让我编辑所有内容,使其像水晶一样清晰,我很抱歉不能清晰地提出,但现在检查一下,我想这会对你有所帮助查找我无法检测到的错误。立即检查问题在您的有效负载(实际上是第1行第21列)中的某处存在无效json。类似于
{“key”:locationID
locationID[
不是有效的json。解析器应为
true
false
null
。是否可以包含json负载?``[{“locationID”:“ASK”、“temp”:35}、{“locationID”:“BC”、“temp”:45}、{“locationID”:“CHD”、“temp”:55}、{“locationID”:“RAJ”、“temp”:65}、{“locationID”:“EGY”、“temp”:55}]“``谢谢您的帮助,这里是JSON有效负载(只是一个示例),但不仅仅是任何示例。您发布的JSON是否会引发错误?在任何情况下,解析器的预期值对您发布的代码都没有多大意义(
true
false
null
),两者都不是字符串值。因此,您可能需要查看它。我建议您对该问题进行适当的查看。每次我回来,您的问题都不同。现在您有一个
numpointerException
,我不知道这是从哪里来的,您没有提供足够的详细信息来回答该问题。从我的角度来看,您最初的任务ion的回答是@fabianhueske,你的第二个问题是我的第一个评论。至于你的第三个问题,我会说这与你问题的标题无关。@PedroRodrigues好的,让我编辑所有内容,使其像水晶一样清晰,我很抱歉不能清晰地提出,但现在检查一下,我想这会对你有所帮助找到我无法检测到的错误。现在检查问题
Exception in thread "main" org.apache.flink.runtime.client.JobExecutionException: Job execution failed.
...

    at flinkBroadcast1$.main(flinkBroadcast1.scala:59)
    at flinkBroadcast1.main(flinkBroadcast1.scala)
Caused by: java.lang.Exception: org.apache.flink.streaming.runtime.tasks.ExceptionInChainedOperatorException: Could not forward element to next operator
...
Caused by: org.apache.flink.streaming.runtime.tasks.ExceptionInChainedOperatorException: Could not forward element to next operator
...
Caused by: java.lang.NullPointerException