a related JIRA: https://issues.apache.org/jira/browse/SPARK-2605
--
Nan Zhu
On Monday, July 21, 2014 at 10:10 AM, Nan Zhu wrote:
> 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
>