Hi Dear all,
I want to set a configuration in file and pass it to Hive Metastore for
example logic in HiveAlterHandler.java. In order to do that, this
configuration should be in HiveConf.metaVars.
But, a simple test got NPE. Anyone has experience to pass config from
qfile to Hive metastore?
Attached has status.q. It has set hive.metastore.ds.retry.interval=2000
which is part of HiveConf.metaVars. Attached has error.txt.
If we remove the config line from status.q, it works.
Thanks
Tim
2013-04-26 14:34:41,603 ERROR exec.Task (SessionState.java:printError(388)) -
FAILED: Error in metadata: Unable to fetch table srcpart
org.apache.hadoop.hive.ql.metadata.HiveException: Unable to fetch table srcpart
at org.apache.hadoop.hive.ql.metadata.Hive.getTable(Hive.java:957)
at org.apache.hadoop.hive.ql.metadata.Hive.getTable(Hive.java:891)
at
org.apache.hadoop.hive.ql.exec.DDLTask.createTableLike(DDLTask.java:3803)
at org.apache.hadoop.hive.ql.exec.DDLTask.execute(DDLTask.java:279)
at org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:145)
at
org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java:57)
at org.apache.hadoop.hive.ql.Driver.launchTask(Driver.java:1355)
at org.apache.hadoop.hive.ql.Driver.execute(Driver.java:1139)
at org.apache.hadoop.hive.ql.Driver.run(Driver.java:945)
at
org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:259)
at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:216)
at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:413)
at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:348)
at org.apache.hadoop.hive.ql.QTestUtil.executeClient(QTestUtil.java:790)
at
org.apache.hadoop.hive.cli.TestCliDriver.runTest(TestCliDriver.java:124)
at
org.apache.hadoop.hive.cli.TestCliDriver.testCliDriver_stats60(TestCliDriver.java:108)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at junit.framework.TestCase.runTest(TestCase.java:154)
at junit.framework.TestCase.runBare(TestCase.java:127)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at junit.framework.TestSuite.runTest(TestSuite.java:208)
at junit.framework.TestSuite.run(TestSuite.java:203)
at
org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:422)
at
org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:931)
at
org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:785)
Caused by: java.lang.NullPointerException
at org.datanucleus.sco.simple.Set.<init>(Set.java:68)
at org.datanucleus.sco.backed.Set.<init>(Set.java:94)
at org.datanucleus.sco.backed.Map.entrySet(Map.java:418)
at
org.apache.hadoop.hive.metastore.api.SerDeInfo.<init>(SerDeInfo.java:157)
at
org.apache.hadoop.hive.metastore.api.StorageDescriptor.<init>(StorageDescriptor.java:256)
at org.apache.hadoop.hive.metastore.api.Table.<init>(Table.java:260)
at
org.apache.hadoop.hive.metastore.HiveMetaStoreClient.deepCopy(HiveMetaStoreClient.java:1177)
at
org.apache.hadoop.hive.metastore.HiveMetaStoreClient.getTable(HiveMetaStoreClient.java:854)
at sun.reflect.GeneratedMethodAccessor15.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.apache.hadoop.hive.metastore.RetryingMetaStoreClient.invoke(RetryingMetaStoreClient.java:74)
at $Proxy7.getTable(Unknown Source)
at org.apache.hadoop.hive.ql.metadata.Hive.getTable(Hive.java:949)
... 30 more
2013-04-26 14:34:41,603 DEBUG exec.DDLTask (DDLTask.java:execute(459)) -
org.apache.hadoop.hive.ql.metadata.HiveException: Unable to fetch table srcpart
at org.apache.hadoop.hive.ql.metadata.Hive.getTable(Hive.java:957)
at org.apache.hadoop.hive.ql.metadata.Hive.getTable(Hive.java:891)
at
org.apache.hadoop.hive.ql.exec.DDLTask.createTableLike(DDLTask.java:3803)
at org.apache.hadoop.hive.ql.exec.DDLTask.execute(DDLTask.java:279)
at org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:145)
at
org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java:57)
at org.apache.hadoop.hive.ql.Driver.launchTask(Driver.java:1355)
at org.apache.hadoop.hive.ql.Driver.execute(Driver.java:1139)
at org.apache.hadoop.hive.ql.Driver.run(Driver.java:945)
at
org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:259)
at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:216)
at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:413)
at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:348)
at org.apache.hadoop.hive.ql.QTestUtil.executeClient(QTestUtil.java:790)
at
org.apache.hadoop.hive.cli.TestCliDriver.runTest(TestCliDriver.java:124)
at
org.apache.hadoop.hive.cli.TestCliDriver.testCliDriver_stats60(TestCliDriver.java:108)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at junit.framework.TestCase.runTest(TestCase.java:154)
at junit.framework.TestCase.runBare(TestCase.java:127)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at junit.framework.TestSuite.runTest(TestSuite.java:208)
at junit.framework.TestSuite.run(TestSuite.java:203)
at
org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:422)
at
org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:931)
at
org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:785)
Caused by: java.lang.NullPointerException
at org.datanucleus.sco.simple.Set.<init>(Set.java:68)
at org.datanucleus.sco.backed.Set.<init>(Set.java:94)
at org.datanucleus.sco.backed.Map.entrySet(Map.java:418)
at
org.apache.hadoop.hive.metastore.api.SerDeInfo.<init>(SerDeInfo.java:157)
at
org.apache.hadoop.hive.metastore.api.StorageDescriptor.<init>(StorageDescriptor.java:256)
at org.apache.hadoop.hive.metastore.api.Table.<init>(Table.java:260)
at
org.apache.hadoop.hive.metastore.HiveMetaStoreClient.deepCopy(HiveMetaStoreClient.java:1177)
at
org.apache.hadoop.hive.metastore.HiveMetaStoreClient.getTable(HiveMetaStoreClient.java:854)
at sun.reflect.GeneratedMethodAccessor15.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.apache.hadoop.hive.metastore.RetryingMetaStoreClient.invoke(RetryingMetaStoreClient.java:74)
at $Proxy7.getTable(Unknown Source)
at org.apache.hadoop.hive.ql.metadata.Hive.getTable(Hive.java:949)
... 30 more
set datanucleus.cache.collections=false;
set hive.stats.autogather=false;
set hive.exec.dynamic.partition=true;
set hive.exec.dynamic.partition.mode=nonstrict;
set hive.metastore.ds.retry.interval=2000;
create table analyze_srcpart like srcpart;