Добавление файла с помощью Spark Structured Streaming Java

Я пытаюсь добавить все содержимое файлов из папки потоковой передачи с помощью Spark, но он создает множество файлов деталей каждый раз, когда запускается микропакет. Ниже мой код.

SparkSession session = SparkSession.builder().appName("SparkJava").getOrCreate();
        JavaSparkContext sparkContext = new JavaSparkContext(session.sparkContext());

    StructType personSchema = new StructType().add("firstName", "string").add("lastName", "string").add("age",
            "long");

// 3 - Создаем набор данных, представляющий поток входных файлов

Dataset<Patient> personStream = session.readStream().schema(personSchema).json("file:///C:/jsons1")
                .as(Encoders.bean(Patient.class));

// Когда данные приходят из потока, эти шаги будут выполнены

// 4 - Создаем временную таблицу, чтобы мы могли использовать SQL-запросы

    personStream.createOrReplaceTempView("people");

    String sql = "SELECT * FROM people";
    Dataset<Row> ageAverage = session.sql(sql);



    StreamingQuery query = ageAverage.coalesce(1).writeStream().outputMode(OutputMode.Append())
            .option("path", "file:///C:/output").format("json").trigger(Trigger.ProcessingTime("10 seconds")).option("checkpointLocation", "file:///C:/output")
            .partitionBy("age").start();

Предложите способ объединить все содержимое файла из исходной папки в один файл в выходной папке.


person Neha Jain    schedule 29.01.2021    source источник