Спарк дстрик запись в один файл

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

val outputBucket= "gs://renault-ftt-dev/pubsub/"
    val checkpointDirectory = "gs://renault-ftt-dev/checkpointpubsub"
    ssc.checkpoint(checkpointDirectory)

    val pubsubStream: ReceiverInputDStream[SparkPubsubMessage] = PubsubUtils.createStream(
      ssc, projectId, topic, subscription,
      SparkGCPCredentials.builder.build(), StorageLevel.MEMORY_AND_DISK_SER_2)

    val data = pubsubStream.map(message => new String(message.getData(), StandardCharsets.UTF_8))

    data.foreachRDD { rdd =>
      import sparkSession.implicits._
      val df = rdd.toDF()
      df.write.mode("append").text(outputBucket)

Можете ли вы помочь мне с этим большое спасибо заранее

0 ответов

Другие вопросы по тегам