You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@hive.apache.org by Priya Cheryl Sebastian <Pr...@globalscholar.com> on 2012/07/04 09:58:58 UTC

Hive 0.8.0 - Add partitions programmtically to non-default db table

I am not using the default database in hive. And I need to add partitions programmatically. So I've tried the following via the JDBC thrift client, but nothing seems to work. It seems to only look at the default database. Any help appreciated.


1)  ALTER TABLE test.webstat add if not exists partition(dt='2012_04_19')  LOCATION '/user/hadoop/logfiles/test/webstat/2012_04_19'

Error: FAILED: Parse Error: line 1:12 cannot recognize input near 'test' '.' 'webstat' in alter table statement



2)  ALTER TABLE webstat add if not exists partition(dt='2012_04_19')  LOCATION '/user/hadoop/logfiles/test/webstat/2012_04_19'

Error:  org.springframework.jdbc.BadSqlGrammarException: StatementCallback; bad SQL grammar [ALTER TABLE webstat add if not exists partition(dt='2012_04_19')  LOCATION '/user/hadoop/logfiles/test/webstat/2012_04_19' ]; nested exception is java.sql.SQLException: Query returned non-zero code: 10, cause: FAILED: Error in semantic analysis: Table not found webstat

2012-07-04 13:08:18,421 ERROR metadata.Hive (Hive.java:getTable(904)) - NoSuchObjectException(message:default.webstat table not found)
        at org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler$17.run(HiveMetaStore.java:1218)
        at org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler$17.run(HiveMetaStore.java:1213)
        at org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.executeWithRetry(HiveMetaStore.java:356)
        at org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.get_table(HiveMetaStore.java:1213)
        at org.apache.hadoop.hive.metastore.HiveMetaStoreClient.getTable(HiveMetaStoreClient.java:713)
        at org.apache.hadoop.hive.ql.metadata.Hive.getTable(Hive.java:901)
        at org.apache.hadoop.hive.ql.metadata.Hive.getTable(Hive.java:843)
        at org.apache.hadoop.hive.ql.parse.DDLSemanticAnalyzer.addTablePartsOutputs(DDLSemanticAnalyzer.java:2101)
        at org.apache.hadoop.hive.ql.parse.DDLSemanticAnalyzer.addTablePartsOutputs(DDLSemanticAnalyzer.java:2079)
        at org.apache.hadoop.hive.ql.parse.DDLSemanticAnalyzer.analyzeAlterTableAddParts(DDLSemanticAnalyzer.java:1806)
        at org.apache.hadoop.hive.ql.parse.DDLSemanticAnalyzer.analyzeInternal(DDLSemanticAnalyzer.java:297)
        at org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer.analyze(BaseSemanticAnalyzer.java:243)
        at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:430)
        at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:337)
        at org.apache.hadoop.hive.ql.Driver.run(Driver.java:889)
        at org.apache.hadoop.hive.service.HiveServer$HiveServerHandler.execute(HiveServer.java:191)
        at org.apache.hadoop.hive.service.ThriftHive$Processor$execute.getResult(ThriftHive.java:629)
        at org.apache.hadoop.hive.service.ThriftHive$Processor$execute.getResult(ThriftHive.java:617)
        at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:32)
        at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:34)
        at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:176)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:662)



3)  use test; ALTER TABLE webstat add if not exists partition(dt='2012_04_19')  LOCATION '/user/hadoop/logfiles/test/webstat/2012_04_19'

Error: org.springframework.jdbc.BadSqlGrammarException: StatementCallback; bad SQL grammar [use test; ALTER TABLE webstat add if not exists partition(dt='2012_04_19')  LOCATION '/user/hadoop/logfiles/test/webstat/2012_04_19' ]; nested exception is java.sql.SQLException: Query returned non-zero code: 11, cause: FAILED: Parse Error: line 1:12 mismatched input ';' expecting EOF near 'test'

2012-07-04 13:02:31,118 ERROR ql.Driver (SessionState.java:printError(380)) - FAILED: Parse Error: line 1:12 mismatched input ';' expecting EOF near 'test'

org.apache.hadoop.hive.ql.parse.ParseException: line 1:12 mismatched input ';' expecting EOF near 'test'

        at org.apache.hadoop.hive.ql.parse.ParseDriver.parse(ParseDriver.java:439)
        at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:417)
        at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:337)
        at org.apache.hadoop.hive.ql.Driver.run(Driver.java:889)
        at org.apache.hadoop.hive.service.HiveServer$HiveServerHandler.execute(HiveServer.java:191)
        at org.apache.hadoop.hive.service.ThriftHive$Processor$execute.getResult(ThriftHive.java:629)
        at org.apache.hadoop.hive.service.ThriftHive$Processor$execute.getResult(ThriftHive.java:617)
        at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:32)
        at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:34)
        at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:176)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:662)





________________________________
CONFIDENTIALITY NOTICE: The information contained in this message is intended only for the recipient and may contain information that is confidential. If you are not the intended recipient or an employee or agent responsible for delivering this message to the intended recipient; please be aware that any dissemination, forwarding, printing, copying, disclosure or distribution of this communication is strictly prohibited. If you have received this communication in error, please immediately notify the sender by replying to the message and deleting all copies, including attachments, from your system.