Pyspark:isDeltaTable 运行 永远

Pyspark: isDeltaTable running forever

我想检查 s3 存储桶中的增量 table 是否真的是增量 table。我正在尝试

    from delta import *
    from delta.tables import DeltaTable
    from pyspark.sql import SparkSession
    from pyspark.sql.functions import *

    spark = SparkSession.builder\
                        .appName('test')\
                        .getOrCreate()

    if DeltaTable.isDeltaTable(spark, "s3a://landing-zone/table_name/year=2022/month=2/part-0000-xyz.snappy.parquet"):
      print("bla")
    else:
      print("blabla")

此代码将永远运行而不会返回任何结果。我用本地 delta table 测试了它,它可以正常工作。当我 trim 路径 url 所以它在实际 table 名称之后停止时,代码显示相同的行为。我还生成了一个 boto3 客户端,调用 s3.list_bucket() 时可以看到存储桶列表。我是否需要以某种方式将客户端解析为 if 语句?

提前致谢!

我是个白痴,我忘了只创建一个boto3客户端是不够的,我还必须通过

与S3建立实际连接
spark._jsc.hadoopConfiguration().set(...)