[英]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.