Pyspark Delta Lake 捕获表不是 delta 表异常

Posted

技术标签:

【中文标题】Pyspark Delta Lake 捕获表不是 delta 表异常【英文标题】:Pyspark Delta lake Catching Table is not a delta table exception 【发布时间】:2021-04-21 14:24:38 【问题描述】:
try:
    df1=spark.read.format("delta").load("/abc")
except Exception as ex:
  print(ex)

它给出的例外是'/abc'不是Delta表。;

我想在找不到文件时执行特定操作。 是否已经有一个类可以像 FileNoTFoundException 一样单独捕获它 - 这似乎在这里不起作用。

【问题讨论】:

【参考方案1】:

在 pyspark 3.x 中,不存在的表将抛出通用 pyspark.sql.utils.AnalysisException。 这是从 Java/Scala 层翻译而来的。不幸的是,不存在特定于“找不到文件”的异常。

from pyspark.sql.utils import AnalysisException

try:
    spark.read.format("delta").load("/abc")
except AnalysisException as ex:
    print(ex)

【讨论】:

***.com/a/60311267/7052307 这个对我有用

以上是关于Pyspark Delta Lake 捕获表不是 delta 表异常的主要内容,如果未能解决你的问题,请参考以下文章

导入 Pyspark Delta Lake 模块时未找到模块错误

如何在 Zeppelin notebook 和 pyspark 中导入 Delta Lake 模块?

Delta Lake中CDC的实现

Delta Lake中CDC的实现

Delta Lake:如何在下一个版本的 delta 表中不携带已删除的记录?

Hyperspace初体验:Delta Lake表索引