web-dev-qa-db-ja.com

Hive:既存のHiveデータベースの名前を変更することは可能ですか?

同様の要件が次の場所にあるようです: https://issues.Apache.org/jira/browse/Hive-4847

ただし、問題の説明から提案された構文を試したところ、「ALTER DATABASE dbname RENAME TO newdbname」というエラーが発生しました:

ALTER DATABASE testdb RENAME TO testdb1;

NoViableAltException(26@[])
    at org.Apache.hadoop.Hive.ql.parse.HiveParser.alterDatabaseStatementSuffix(HiveParser.Java:7881)
    at org.Apache.hadoop.Hive.ql.parse.HiveParser.alterStatement(HiveParser.Java:6588)
    at org.Apache.hadoop.Hive.ql.parse.HiveParser.ddlStatement(HiveParser.Java:2183)
    at org.Apache.hadoop.Hive.ql.parse.HiveParser.execStatement(HiveParser.Java:1392)
    at org.Apache.hadoop.Hive.ql.parse.HiveParser.statement(HiveParser.Java:1030)
    at org.Apache.hadoop.Hive.ql.parse.ParseDriver.parse(ParseDriver.Java:199)
    at org.Apache.hadoop.Hive.ql.parse.ParseDriver.parse(ParseDriver.Java:166)
    at org.Apache.hadoop.Hive.ql.Driver.compile(Driver.Java:414)
    at org.Apache.hadoop.Hive.ql.Driver.compile(Driver.Java:332)
    at org.Apache.hadoop.Hive.ql.Driver.compileInternal(Driver.Java:988)
    at org.Apache.hadoop.Hive.ql.Driver.runInternal(Driver.Java:1053)
    at org.Apache.hadoop.Hive.ql.Driver.run(Driver.Java:924)
    at org.Apache.hadoop.Hive.ql.Driver.run(Driver.Java:914)
    at org.Apache.hadoop.Hive.cli.CliDriver.processLocalCmd(CliDriver.Java:269)
    at org.Apache.hadoop.Hive.cli.CliDriver.processCmd(CliDriver.Java:221)
    at org.Apache.hadoop.Hive.cli.CliDriver.processLine(CliDriver.Java:431)
    at org.Apache.hadoop.Hive.cli.CliDriver.processLine(CliDriver.Java:367)
    at org.Apache.hadoop.Hive.cli.CliDriver.processReader(CliDriver.Java:464)
    at org.Apache.hadoop.Hive.cli.CliDriver.processFile(CliDriver.Java:474)
    at org.Apache.hadoop.Hive.cli.CliDriver.executeDriver(CliDriver.Java:756)
    at org.Apache.hadoop.Hive.cli.CliDriver.run(CliDriver.Java:694)
    at org.Apache.hadoop.Hive.cli.CliDriver.main(CliDriver.Java:633)
    at Sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at Sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.Java:57)
    at Sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.Java:43)
    at Java.lang.reflect.Method.invoke(Method.Java:606)
    at org.Apache.hadoop.util.RunJar.main(RunJar.Java:212)
FAILED: ParseException line 3:15 cannot recognize input near 'testdb' 'RENAME' 'TO' in alter database statement
8
activelearner

現在のApacheHiveリリースはこの機能をサポートしていません。このApacheHive Jira Hive-4847 では、これが新機能であり、パッチが利用可能であることがわかりますが、特定のリリースにマージおよびタグ付けされていません。この機能は、今後のリリースで期待できます。

9
SachinJ