Spark本地结构化流无法识别添加的新文件

时间:2019-07-30 18:16:53

标签: apache-spark spark-structured-streaming

我正在使用Spark结构化流从本地目录中读取。在此示例中,我们将说流式directory = "C:\\Users\\streamingfiles".

我们也说我有文件A和B。

  1. 将文件A放入streamingfiles目录中。
  2. 运行spark应用程序。 (应用程序成功将文件A输出到控制台)。
  3. 将文件B放入streamingfiles目录中。
  4. (应用程序成功将文件B输出到控制台)。

现在,我将复制文件A并将其重命名为C

  1. 将文件A放入streamingfiles目录中。
  2. 运行spark应用程序。 (应用程序成功将文件A输出到控制台)。
  3. 将文件C放入streamingfiles目录中。
  4. (应用程序不会将文件C输出到控制台)。

我以前也遇到过这个问题,但是最终文件C可以被读取,没有任何更改。有谁知道这是怎么回事?

文件是否以某种方式损坏?我试过清理我的项目,构建它,然后退出Eclipse。

    val spark: SparkSession = SparkSession.builder
            .appName("PAPC_Long_CDR_Enricher")
            .config("spark.master", "local")
            .getOrCreate()

    val myschema: StructType = new StructType() // final
            .add("f0", StringType)
            .add("f1", StringType);

    var myDF: DataFrame = spark.readStream
            .schema(myschema)
            .csv("C:\\Users\\streamingfiles");

    val query: StreamingQuery = myDF.writeStream
            .queryName("testQ")
            .outputMode("append")
            .format("console")
            .option("numRows", "1000")
            .option("truncate", false)
            .start();

0 个答案:

没有答案