在 pyspark 的目录中读取按 monthYear 分组的最新文件
Read latest file grouped by monthYear in directory in pyspark
我在一个目录中有多个文件。
文件名与图1中添加的相似。
我只想从 pyspark 中的目录中读取每个月的最新文件作为数据框。
预期读取的文件如图2所示
import os
import glob
path = '/your_path/'
form = 'csv'
os.chdir(path)
files_list = glob.glob('*.{}'.format(form))
dic = {}
prefix = files_list[0][:4]
sufix = files_list[0][-4:]
for i in range(0, len(files_list)):
ym = files_list[i][4:12][:6]
d = files_list[i][4:12][6:]
if ym in dic:
if d > dic[ym]:
dic[ym] = d
else:
dic[ym] = d
files_to_open = [path+prefix+x+y+sufix for (x,y) in dic.items()]
df = spark.read.format(form).option("header", "true").load(files_to_open)
我在一个目录中有多个文件。
文件名与图1中添加的相似。
我只想从 pyspark 中的目录中读取每个月的最新文件作为数据框。
预期读取的文件如图2所示
import os
import glob
path = '/your_path/'
form = 'csv'
os.chdir(path)
files_list = glob.glob('*.{}'.format(form))
dic = {}
prefix = files_list[0][:4]
sufix = files_list[0][-4:]
for i in range(0, len(files_list)):
ym = files_list[i][4:12][:6]
d = files_list[i][4:12][6:]
if ym in dic:
if d > dic[ym]:
dic[ym] = d
else:
dic[ym] = d
files_to_open = [path+prefix+x+y+sufix for (x,y) in dic.items()]
df = spark.read.format(form).option("header", "true").load(files_to_open)