繁体   English   中英

在 Azure Synapse Notebook 的数据框中加载许多 CSV 文件时如何忽略丢失的文件

[英]How to ignore missing files when loading many CSV files in a dataframe in Azure Synapse Notebook

我正在 Azure Synapse Notebook 中编写 PySpark 脚本。 它应该将一长串 CSV 文件加载到这样的数据框中:

%%pyspark

path = [
'abfss://mycontainer@mylake.dfs.core.windows.net/sku-934/data.csv', 
'abfss://mycontainer@mylake.dfs.core.windows.net/sku-594/data.csv',
'abfss://mycontainer@mylake.dfs.core.windows.net/sku-365/data.csv',
# Many more paths here
]
 
df = spark.read.options(header=True).csv(path)

但是,我不能保证所有这些路径中的文件都存在。 有时他们不会。 如果是这种情况,整个脚本会以AnalysisException: Path does not exist

问题- 我可以指示 Azure Synapse Notebook 中的 spark 忽略丢失的文件并仅加载那些存在的文件吗?

我已经尝试解决这个问题 - 谷歌搜索建议我可以做spark.sql("set spark.sql.files.ignoreCorruptFiles=true") ,但由于某种原因它没有效果。 也许这在 Synapse 中不起作用,或者它适用于不同的用例。 我对这方面的了解非常有限,所以我说不清楚。

你问的是不可能的。

在运行应用程序之前插入那些没有数据的带有脚本的丢失文件,或者首先构建有效列表。

众所周知的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM