我的文件夹
myfolder.tar.gz
里有多个CSV文件。我是这样创建的:首先把我所有的文件放在一个名为
myfolder
的文件夹里,然后准备一个
tar
的文件夹。然后准备好该文件夹的
.gz
。
假设我们有5个文件。
abc_1.csv
abc_2.csv
abc_3.csv
def_1.csv
def_2.csv
我想用Pyspark数据框架过滤读取特定文件名模式的文件。比如我们想把所有abc
的文件都读出来。
这不应该给我们def
的结果,反之亦然。目前,我可以通过使用spark.read.csv()
函数来读取所有的CSV文件。此外,当我使用pathGlobalFilter
参数将文件保存在一个简单的文件夹中时,我能够过滤文件,就像这样。
df = spark.read.csv("mypath",pathGlobalFilter="def_[1-9].csv")
但当我能够在tar.gz
中做同样的事情时,比如。
df = spark.read.csv("myfolder.tar.gz", pathGlobalFilter="def_[1-9].csv")
我得到了一个错误。
无法推断出CSV的模式。如何从.tar.gz文件中读取。