【问题标题】:Convert a DStream to a Data Frame将 DStream 转换为数据帧
【发布时间】:2016-09-09 13:09:15
【问题描述】:

您好,我正在尝试使用 Apache Spark Streaming 从 Twitter 读取推文并尝试转换为 DataFrame。我有我在下面粘贴的方法。但是,我无法获得正确的方法。一些指针将受到欢迎。

正如您所见,在 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()})

【问题讨论】:

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

标签: scala apache-spark bigdata


【解决方案1】:

我还没有尝试过,但也许这样的工作:

  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
      }
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-06-08
    • 2019-07-03
    • 2018-09-08
    • 2017-08-09
    • 1970-01-01
    • 2017-02-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多