Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[SPARK-29260][SQL] Support
ALTER DATABASE SET LOCATION
if HMS suppo…
…rts (apache#1436) Currently for `ALTER DATABASE SET LOCATION` command, Spark will throw exception when Hive version (e.g., specified via `spark.sql.hive.metastore.version`) is not 3.0/3.1. This PR removes the check so that the command works as long as the Hive version used by the Hive metastore (which could be different from the version used by Spark) supports the alter database location feature added via [HIVE-8472](https://issues.apache.org/jira/browse/HIVE-8472). If it does not support it, the same exception will still be thrown from Spark side. For the command `ALTER DATABASE SET LOCATION` command, Spark currently throws exception like the following: ``` AnalysisException: Hive 2.3.9 does not support altering database location ``` This is not accurate since it only considers the client version, while the feature support is on the Hive metastore server side. Therefore, the command should succeed if Spark is using Hive 2.3 while the remote Hive megastore is using Hive 3.1. On the other hand, the command will not succeed if Spark is using Hive 3.1 (thus no exception) but the remote Hive metastore is using 2.3. Yes, previously Spark users using Hive client with version other than 3.0/3.1 won't be able to run `ALTER DATABASE SET LOCATION` command against Hive metastore 3.x. After this PR it should work. Modified the existing test case. Closes apache#36750 from sunchao/SPARK-29260. Lead-authored-by: Chao Sun <sunchao@apple.com> Co-authored-by: Chao Sun <sunchao@apache.org> Signed-off-by: Yuming Wang <yumwang@ebay.com> Co-authored-by: Chao Sun <sunchao@apache.org>
- Loading branch information