Apache spark 未注册任何输出操作,因此无需执行任何操作

Apache spark 未注册任何输出操作,因此无需执行任何操作,apache-spark,apache-kafka,spark-streaming,Apache Spark,Apache Kafka,Spark Streaming,我想过滤来自kafka服务器的传入json,并根据某些版本类型对它们进行分离和解析,并对它们分别进行某些计算。但在这里,当iam使用if语句时,iam在if语句中使用print语句时,会出现错误“未注册任何输出操作”。运行代码的替代方案必须是什么?提前谢谢 在此处输入代码 if(packetType.equals("P300")) { val three300s=dstream.map(parser300) three300s.print() } else

我想过滤来自kafka服务器的传入json,并根据某些版本类型对它们进行分离和解析,并对它们分别进行某些计算。但在这里,当iam使用if语句时,iam在if语句中使用print语句时,会出现错误“未注册任何输出操作”。运行代码的替代方案必须是什么?提前谢谢

在此处输入代码

if(packetType.equals("P300")) {
      val three300s=dstream.map(parser300)
       three300s.print()
      }
else if(packetType.equals("P30")) {
      val thirty30s=dstream.map(parser30)
      thirty30s.print()
 }
else if(packetType.equals("P6")) {
      val six6s=dstream.map(parser6)
      six6s.print()  
   }
 ssc.start()
    ssc.awaitTermination()


    }
  }
我正在获取“线程中的异常”主“org.apache.spark.SparkException:任务不可序列化”。我观察到序列化有一些问题,但无法准确地找到

enter code here
pType.map(rdd => {
   val pkt= rdd.toString()
  if(pkt.equals("P300")) {

  val t300=dstream.map(par300)
   t300.print()
 }else if(pkt.equals("P30")) {
    val t30=dstream.map(par30)
    t30.print()        
 }else if(pkt.equals("P6")) {
    val t6=dstream.map(par6)
    t6.print()        
 }
})

似乎
packetType
与您提供的任何案例都不匹配。您是否可以添加
else
语句,如下所示

else{
  dstream.print(1)
} 
它肯定会消除您所遇到的错误。或者,您需要确保
packetType
与任何一个case匹配


希望这有帮助

似乎
packetType
与您提供的任何案例都不匹配。您是否可以添加
else
语句,如下所示

else{
  dstream.print(1)
} 
它肯定会消除您所遇到的错误。或者,您需要确保
packetType
与任何一个case匹配


希望这有帮助

您应该执行一些操作,如在数据流中计数,以获得输出。@Knight71供参考,在数据流中计数不是一个操作。@avr感谢您指出这一点。@avr您能检查一下新的吗。thanks@vivek如果你开始新的线程而不是更新这个问题,会更好。这样,每个人都能看到您的新问题,您的问题很有可能很快得到解决。您应该采取一些措施,如在数据流中计数,以获得输出。@Knight71供参考,依靠数据流不是一个动作。@avr谢谢你指出它。@avr你能检查一下新的吗。thanks@vivek如果你开始新的线程而不是更新这个问题,会更好。这样,每个人都能看到你的新问题,你的问题很有可能很快得到解决。谢谢你的上述建议,我会检查一下,然后再联系你。@vivek,你试过了吗?让我知道它是否有效,或者您是否面临任何问题!是啊,我试过了,它正在使用else语句,但我发现上面语句中的packetType是在数据流代码中,尽管我以字符串形式传递它……因此,它不是用“P300”验证的……我将与团队讨论,并尝试输入完整代码或其他代码……感谢fr CONCERN感谢上述建议,我会检查一下,然后再联系你。@vivek,你试过了吗?让我知道它是否有效,或者您是否面临任何问题!是啊,我试过了,它正在使用else语句,但我发现上面语句中的packetType在数据流代码中,尽管我以字符串形式传递它……因此,它没有用“P300”进行验证……我将与团队讨论,并尝试输入完整代码或其他代码……感谢您的关注