我写了一些东西来读取由名为
partition_paths
的列表动态提供的一些 Lake 文件的位置:
dfs = [spark.read.parquet(f'{l}') for l in partition_paths]
然后我将在下一行中将所有这些 dfs 合并为一个:
df = reduce(DataFrame.unionAll, dfs)
但是可能
partition_paths
要么构建不正确,要么湖中的位置根本不存在,所以我需要错误处理第一行代码。我怎样才能做到这一点,这样它就不会停止并继续获取所有 dfs?
我不知道什么是 Spark 或你想要做什么,但我认为你不必使用列表理解。您应该使用通常的 for 循环。
dfs = []
for l in partition_paths:
try:
variable = spark.read.parquet(f'{l}')
dfs.append(variable)
except:
print("error occured")
df = reduce(DataFrame.unionAll, dfs)