如何使用 Spark Structured Streaming 逐块处理文件?

mah*_*hdi 3 scala apache-spark spark-structured-streaming

我正在处理大量文件,并且我想逐块处理这些文件,假设在每个批次期间,我想分别处理每 50 个文件。

如何使用 Spark 结构化流来做到这一点?

我看到Jacek Laskowski(/sf/users/91374111/)在类似的问题(Spark to process rdd chunk by chunk from json files and post to Kafka topic)中说,可以使用Spark 结构化流,但我找不到任何有关它的示例。

多谢,

bp2*_*010 6

如果使用文件源:

maxFilesPerTrigger:每个触发器中要考虑的最大新文件数(默认值:无最大值)

spark
  .readStream
  .format("json")
  .path("/path/to/files")
  .option("maxFilesPerTrigger", 50)
  .load
Run Code Online (Sandbox Code Playgroud)

如果使用 Kafka Source,它会类似,但带有选项maxOffsetsPerTrigger