使用Spark Streaming写入磁盘

时间:2015-09-21 08:48:17

标签: scala apache-spark spark-streaming

我正在尝试使用来自Spark Streaming的数据以Parquet格式写入磁盘。

我使用以下方式获得较慢的写入结果:

 val stream = ssc.receiverStream(...)

  stream.foreachRDD { rdd =>

    if (rdd.count() > 0) {

      // Get the singleton instance of SQLContext
      val sqlContext = SQLContext.getOrCreate(rdd.sparkContext)
      import sqlContext.implicits._

      // Save models in Parquet format.
      rdd.toDF()
        .write.mode(SaveMode.Append)
        .parquet("../myfile")
    }
  }

我将这与将相同的数据集一次读入内存然后使用Spark一次到磁盘进行比较,而不是使用流式方法的上述方法。

有谁能告诉我为什么并给出解决方案?

0 个答案:

没有答案