pyspark使用s3中的regex/glob选择文件子集

pyspark使用s3中的regex/glob选择文件子集,regex,amazon-s3,apache-spark,glob,pyspark,Regex,Amazon S3,Apache Spark,Glob,Pyspark,我在AmazonS3上有许多文件,每个文件都按日期分隔(date=yyyymmdd)。这些文件可以追溯到6个月前,但我想限制我的脚本只使用最后3个月的数据。我不确定是否能够使用正则表达式执行类似于sc.textFile(“s3://path\u to\u dir/yyyy[m1,m2,m3]*”)的操作 其中m1,m2,m3表示我希望使用的从当前日期算起的3个月 一次讨论还建议使用类似于sc.textFile(“s3://path\u to_dir/yyyyym1*”、“s3://path\u

我在AmazonS3上有许多文件,每个文件都按日期分隔(date=yyyymmdd)。这些文件可以追溯到6个月前,但我想限制我的脚本只使用最后3个月的数据。我不确定是否能够使用正则表达式执行类似于
sc.textFile(“s3://path\u to\u dir/yyyy[m1,m2,m3]*”)的操作

其中m1,m2,m3表示我希望使用的从当前日期算起的3个月

一次讨论还建议使用类似于
sc.textFile(“s3://path\u to_dir/yyyyym1*”、“s3://path\u to_dir/yyyyyym2*”、“s3://path\u to_dir/yyyyyyyyym3*”)之类的内容


sc.textFile()
是否接受正则表达式?我知道您可以使用glob表达式,但我不确定如何将上述情况表示为glob表达式?

对于第一个选项,请使用大括号:

sc.textFile("s3://path_to_dir/yyyy{m1,m2,m3}*")
对于第二个选项,您可以将每个glob读入一个RDD,然后将这些RDD合并为一个:

m1 = sc.textFile("s3://path_to_dir/yyyym1*")
m2 = sc.textFile("s3://path_to_dir/yyyym2*")
m3 = sc.textFile("s3://path_to_dir/yyyym3*")
all = m1.union(m2).union(m3)
可以将globs与
sc.textFile
一起使用,但不能使用完整的正则表达式