我有一个文件名中包含时间戳的xml文件列表。我需要根据时间戳值有条件地加载这些文件。为此,我使用通配符。
这里我使用的代码不起作用:
spark.read \
.format("com.databricks.spark.xml") \
.load("/path/file_[1533804409548-1533873609934]*")
答案 0 :(得分:0)
我想您不能使用通配符来完成此操作,因为您想加载时间范围内的文件。由于可以从多个位置加载数据帧,因此您可以制作一个在时间范围内的文件路径数组并加载路径。这是我尝试过的示例代码,
target_files = []
st = 123
et = 321
path="<files_base_path>"
for file in os.listdir(path):
try:
ts = int(file[5:8])
if ts >= st and ts <= et:
target_files.append(path+file)
except Exception as ex:
continue
spark.read.parquet(*target_files)
根据您的输入更改常数值。希望能对您有所帮助。