JIRA ID: https://issues.apache.org/jira/browse/SPARK-50759
On Tue, Jan 7, 2025 at 1:26 PM Sunny Malik <sunny1...@gmail.com> wrote: > Hi > > I am encountering issues while working with a REST-based catalog. My Spark > session is configured with a default catalog that uses the REST-based > implementation. > > The SparkSession.catalog API does not function correctly with the > REST-based catalog. This issue has been tested and observed in Spark 3.4. > > > ---------------------------------------------------------------------------------- > > ${SPARK_HOME}/bin/spark-shell --master local[*] > > --driver-memory 2g > --conf > spark.hadoop.fs.s3a.aws.credentials.provider=org.apache.hadoop.fs.s3a.TemporaryAWSCredentialsProvider > --conf spark.sql.catalog.iceberg.uri=https://xx.xxx.xxxx.domain.com > --conf spark.sql.warehouse.dir=$SQL_WAREHOUSE_DIR > --conf spark.sql.defaultCatalog=iceberg > --conf spark.sql.catalog.iceberg=org.apache.iceberg.spark.SparkCatalog > --conf > spark.sql.catalog.iceberg.catalog-impl=org.apache.iceberg.rest.RESTCatalog \ > > scala> spark.catalog.currentCatalog > res1: String = iceberg > > scala> spark.sql("select * from restDb.restTable").show > +---+----------+ > | id| data| > +---+----------+ > | 1|some_value| > +---+----------+ > > scala> spark.catalog.tableExists("restDb.restTable") > *res3: Boolean = true* > > scala> spark.catalog.tableExists("restDb", "restTable") > > *res4: Boolean = false* > > ---------------------------------------------------------------------------------- > > API spark.catalog.tableExists(String databaseName, String tableName) > is only meant to work with HMS based catalog ( > https://github.com/apache/spark/blob/5a91172c019c119e686f8221bbdb31f59d3d7776/sql/core/src/main/scala/org/apache/spark/sql/catalog/Catalog.scala#L224 > ) > > spark.catalog.tableExists(String databaseName, String tableName) > is meant to work with hms and non-hms based catalogs > > > Suggested resolutions > 1. API spark.catalog.tableExists(String databaseName, String tableName) > to throw runtime exception if session catalog is non-hms based catalog > 2. Deprecrate HMS specific API in newer Spark release as Spark already > have API that can work with hms and non-hms based catalogs. > > Thanks > Sunny > > >