【问题标题】:Spark Streaming writeStream is not writing to fileSpark Streaming writeStream 未写入文件
【发布时间】:2021-06-02 16:57:14
【问题描述】:

如果我的输出格式是“控制台”,writeStream 似乎可以工作,但当我的输出格式是“镶木地板”时就不行。是否有一些我缺少的额外设置或配置?

import org.apache.spark.sql.DataFrame
import org.apache.spark.sql.types._

object DataStreaming extends App with Context {

  val customSchema = StructType(Array(
    StructField("x", DoubleType),
    StructField("y", DoubleType),
    StructField("name", StringType)
  ))

  def readFromParquet(): Unit = {

    val sourceDF: DataFrame = spark.readStream
      .schema(customSchema)
      .parquet("/path/to/source/")
    
    sourceDF
      .writeStream
      .format("console")
      .outputMode("append")
      .start()
      .awaitTermination()

    sourceDF
      .writeStream
      .format("parquet")
      .option("path", "/output/path/")
      .outputMode("append")
      .start()
      .awaitTermination()
  }

  readFromParquet()




}

【问题讨论】:

    标签: scala apache-spark


    【解决方案1】:

    很奇怪。我所要做的就是注释掉

    //    sourceDF
    //      .writeStream
    //      .format("console")
    //      .outputMode("append")
    //      .start()
    //      .awaitTermination()
    

    还有更新

        sourceDF
          .writeStream
          .format("parquet")
          .option("path", "SOMEPATH")
          .option("checkpointLocation", "SOMEPATH")
          .outputMode("append")
          .start()
          .awaitTermination()
    

    效果很好。

    【讨论】:

    • 当我尝试这个时,它给出的值 writeStream 不是 org.apache.spark.streaming.dstream.ReceiverInputDStream[String] 的成员
    猜你喜欢
    • 2019-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-12
    • 2020-09-08
    • 2021-10-25
    • 2019-05-01
    • 2015-09-19
    相关资源
    最近更新 更多