Hi, all When I try hiveContext.hql("drop table if exists abc") where abc is a non-exist table
I still received an exception about non-exist table though "if exists" is there the same statement runs well in hive shell Some feedback from Hive community is here: https://issues.apache.org/jira/browse/HIVE-7458 “Your are doing hiveContext.hql("DROP TABLE IF EXISTS hivetesting") in Scala schell of the Spark project. What this shell is doing ? Query to remote metastore on non existing table (see on your provided stack). The remote metastore throws NoSuchObjectException(message:default.hivetesting table not found)because Spark code call HiveMetaStoreClient.getTable(HiveMetaStoreClient.java:854) on non-existing table. It's the right behavior. You should check on Spark code why a query is done on non existing table. I think Spark does not handle well the IF EXISTS part of this query. Maybe you could fill a ticket on Spark JIRA. BUT, it's not a bug in HIVE IMHO.” My question is the DDL is executed by Hive itself, doesn’t it? Best, -- Nan Zhu