【发布时间】:2021-05-28 03:42:18
【问题描述】:
我有一些文件想要使用 Spark 结构化流进行流式传输。结构是这样的:
myFolder
└── subFolderOne
├── fileOne.gz
├── fileTwo.gz
└── fileThree.gz
└── subFolderTwo
├── fileFour.gz
├── fileFive.gz
├── fileSix.gz
当我只执行以下操作时,它会起作用:
val df = spark
.readStream
.format("json")
.schema(schema)
.option("maxFilesPerTrigger", 1)
.json("/myFolder/subFolderOne/") <-------
但我想在根级别阅读它:/myFolder/,以便它选择任意数量的子文件夹中的所有文件。这可能吗?
我正在使用 spark 2.4.5 和 scala 2.11.6
【问题讨论】:
-
@blackbishop - 我知道 Spark 3.0 提供了一个选项 recursiveFileLookup 但必须有比列出所有文件更好的方法。我在许多子文件夹中有数千个文件。
-
@blackbishop 找到了一种使用通配符的方法。
标签: scala apache-spark spark-streaming