【发布时间】:2017-08-20 00:09:33
【问题描述】:
如果可能,我想使用单个路径将给定文件夹中的所有 csv 文件递归读取到 Spark SQL DataFrame。
我的文件夹结构看起来像这样,我想用一个路径包含所有文件:
resources/first.csvresources/subfolder/second.csvresources/subfolder/third.csv
这是我的代码:
def read: DataFrame =
sparkSession
.read
.option("header", "true")
.option("inferSchema", "true")
.option("charset", "UTF-8")
.csv(path)
将path 设置为.../resource/*/*.csv 省略1. 而.../resource/*.csv 省略2. 和3。
我知道csv() 也接受多个字符串作为路径参数,但如果可能的话希望避免这种情况。
注意:我知道我的问题类似于How to import multiple csv files in a single load?,除了我想包含所有包含的文件夹的文件,与它们在主文件夹中的位置无关.
【问题讨论】:
-
递归文件搜索能解决您的问题吗? stackoverflow.com/questions/2637643/…
-
技术上是的,但正如我所说,我想避免将多个参数传递给
csv()。
标签: scala csv apache-spark dataframe wildcard