Scala 将数据流转换为数据帧

Scala 将数据流转换为数据帧,scala,apache-spark,bigdata,Scala,Apache Spark,Bigdata,嗨,我正在尝试使用ApacheSpark流媒体从Twitter读取推文,并尝试转换为数据帧。我有我贴在下面的方法。然而,我不能得到正确的方法。欢迎提供一些建议 正如您可以看到的,在foreach中转换为DF并不能从tweetStream中获得一个DF。我可能有错误的方法,因为我是新手。我该如何处理这个问题 val tweetStream = TwitterUtils.createStream(ssc, Utils.getAuth).filter(status=>status.getLang

嗨,我正在尝试使用ApacheSpark流媒体从Twitter读取推文,并尝试转换为数据帧。我有我贴在下面的方法。然而,我不能得到正确的方法。欢迎提供一些建议

正如您可以看到的,在foreach中转换为DF并不能从tweetStream中获得一个DF。我可能有错误的方法,因为我是新手。我该如何处理这个问题

val tweetStream = TwitterUtils.createStream(ssc, Utils.getAuth).filter(status=>status.getLang=="en")
      .map(status=>gson.toJson(status))
    val sqlContext = new org.apache.spark.sql.SQLContext(sc)
    import sqlContext.implicits._
    tweetStream.foreachRDD({status=>val DF = status.toDF()})

我还没有试过,但也许像这样的方法很管用:

  var df_tweets:DataFrame = null

  dstream_tweets.foreachRDD {
    rrd => if (df_tweets != null) {
      df_tweets = df_tweets.unionAll(rdd.toDF) // combine previous dataframe
    } else {
      df_tweets = rdd.toDF() // create new dataframe
      }
    }

我在考虑在循环中使用DF.merge()来获得在foreachRDD{}中计算的整个DF