Scala Spark Streaming不解析数据

Scala Spark Streaming不解析数据,scala,apache-spark,spark-streaming,Scala,Apache Spark,Spark Streaming,我有一个非常简单的火花流工作,我创建了使用Jupyter,我无法得到工作。我想知道是否有人能告诉我这里可能出了什么问题 import org.apache.spark.streaming.{Seconds, StreamingContext} import scala.util.control.Exception.allCatch import java.sql.Timestamp import org.apache.spark.SparkConf def parseDouble(s: Str

我有一个非常简单的火花流工作,我创建了使用Jupyter,我无法得到工作。我想知道是否有人能告诉我这里可能出了什么问题

import org.apache.spark.streaming.{Seconds, StreamingContext}
import scala.util.control.Exception.allCatch
import java.sql.Timestamp
import org.apache.spark.SparkConf

def parseDouble(s: String): Double = try { s.toDouble } catch { case _ => 0.00 }
def isDoubleNumber(s: String): Boolean = (allCatch opt s.toDouble).isDefined

case class ProcessDataStream(Timestamp: String, TimezoneOffset: String, SystemGuid: String, TagName: String, NumericValue: String , StringValue: String)
以下代码中的问题,我可以在
my_rdd_raw
中看到数据,但不能在
my_rdd

// Create the streaming context
    val ssc = new StreamingContext(sc, Seconds(10))
    val csvLines = ssc.textFileStream("wasb://container@storage.blob.core.windows.net/")

    csvLines.window(Seconds(60), Seconds(10)).foreachRDD(rdd=> {

        rdd.toDF().registerTempTable("my_rdd_raw")

        val processDataStream = rdd.map(s => s.split(",")).filter(
        s => s(0) != "Timestamp" && isDoubleNumber(s(4)) ).map(
        s => ProcessDataStream(s(0), 
                         s(1), 
                         s(2), 
                         s(3), 
                         s(4), 
                         s(5)))
        val streamDF = processDataStream.toDF()
        streamDF.registerTempTable("my_rdd")

    }
    )
    ssc.start()
下面的代码给出了预期的结果

val data = sqlContext.sql("select * from my_rdd_raw")
data.collect().foreach(println)

[2016-04-19 20:26:01.0299,+05:30,ecc84966-9bc0-4bef-9cd2-ad79c25be278,test001,178.03499442294,,Good]
[2016-04-19 20:26:02.0303,+05:30,ecc84966-9bc0-4bef-9cd2-ad79c25be278,test001,160.205223861246,,Good]
但是对
my_rdd
的查询表明表不存在。有人能指出我代码中的错误吗

编辑1

我确实在这方面取得了一些进展,并发现如果我删除以下行

.filter(s=>s(0)!=“Timestamp”和&isDoubleNumber(s(4))

这是预期的工作。那么,流处理的工作方式是否不同于正常的批处理作业