sparkstreaming实时任务加载模型,抛出java.util.NoSuchElementException: next on empty iterator异常解决方法

在使用sparkStreaming任务实时加载机器学习CTR模型并做实时预测时,调用transform方法抛出java.util.NoSuchElementException: next on empty iterator异常。

		...
		//加载模型
        val model =PipelineModel.load("/user/hdfs/model/LRmodel")
        dataStream.foreachRDD(rdd => {
   
   
        	val sqlContext = SQLContext.getOrCreate(rdd.sparkContext)
            import sqlContext.implicits._
            val dataFrame = rdd.toDF()
            val prediction = model.transform(dataFrame)
            ...
        })

任务运行后,抛出异常

ERROR JobScheduler JobScheduler: Error running job streaming job 
java.util.NoSuchElementException: next on empty iterator
	at scala.collection.Iterator$$anon$2.next(Iterator.scala:39)
	at scala.collection.Iterator$$anon$2.next(Iterator.scala:37)
	at scala.collection.IndexedSeqLike$Elements.next(IndexedSeqLike.scala:63)
	at scala.collection.IterableLike$class.head(IterableLike.scala:107)
	at scala.collection.mutable.ArrayOps$ofRef.scala$collection$IndexedSeqOptimized$$super$head(ArrayOps.scala:186)
	at scala.collection.IndexedSeqOptimized$class.head(IndexedSeqOptimized.scala:126)
	at scala.collection.mutable.ArrayOps$ofRef.head(ArrayOps.scala:186)
	at org.apache.spark.sql.Dataset.head(Dataset.scala:2502)
	at org.apache.spark.sql.Dataset.first(Dataset.scala:2509)
	at org.apache.spark.ml.feature.VectorAssembler.first$lzycompute$1(VectorAssembler.scala:57)
	at org.apache.spark.ml.feature.VectorAssembler
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值