java.lang.IllegalArgumentException:要求失败:未注册任何输出操作,因此无需执行任何操作

时间:2016-08-24 17:00:49

标签: scala spark-cassandra-connector apache-zeppelin

当我执行下面的代码时给出错误 “java.lang.IllegalArgumentException:要求失败:未注册任何输出操作,因此无需执行任何操作” 有人可以帮帮我吗?

    val ssc = new StreamingContext(sc, Seconds(1))

    val sqlContext = new org.apache.spark.sql.SQLContext(sc)


   var imput: SimpleDateFormat   = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss",  Locale.ENGLISH)
   var dia: SimpleDateFormat   = new SimpleDateFormat("dd")
   var mes: java.text.SimpleDateFormat = new SimpleDateFormat("MM");
   var ano: java.text.SimpleDateFormat = new SimpleDateFormat("yyyy");

var diacv: String = ""
var mescv: String = ""
var anocv: String = ""

case class Data(diacv: String, mescv: String, anocv: String)

val columns = Seq("timecol")


val data = ssc.cassandraTable("smartgrids","analyzer_temp")
              .select(columns.map(ColumnName(_)).take(1):_*)


val dstream = new ConstantInputDStream(ssc, data)


class foo() {


import sqlContext.implicits._

        val result = dstream.map(row => (
                     diacv = dia.format(imput.parse(row.toString())), 
                     mescv = mes.format(imput.parse(row.toString())), 
                     anocv = ano.format(imput.parse(row.toString()))
                   )           
       ).toDF()

             result.registerTempTable("result") 

            // return result
}

ssc.start()
ssc.awaitTermination()

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,Stream没有输出操作。可以在功能下方添加

print() foreachRDD(func) saveAsObjectFiles(prefix, [suffix]) saveAsTextFiles(prefix, [suffix]) saveAsHadoopFiles(prefix, [suffix])