Hi Ranjan,

Looks like the NPE is getting generated here:

    if (0 == getCols().size()) {
      throw new HiveException(
          "at least one column must be specified for the table");
    }

Which would seem to indicate that the table record which was fetched
doesn't have any columns.

Did you run the metastore upgrade scripts for 0.8.0 (located in
metastore/scripts/upgrade)? Hive 0.8.0 includes HIVE-2246 which changed the
name and schema of the metastore table used to store column information.

Thanks.

Carl



On Mon, Jun 18, 2012 at 12:56 PM, Ranjan Bagchi <ran...@powerreviews.com>wrote:

> Hi,
>
> I've built a datastore using Hive 7.1 backed by S3 using persistent
> metadata.  Now that hive 8.1 is available, I'd like to migrate to the new
> version.
>
> However, I'm having trouble reading tables with the persistent schema.
>  Looking in the logs, I'm getting stack traces like the following:
> 2012-06-18 19:51:23,176 ERROR org.apache.hadoop.hive.ql.exec.Task
> (SessionState.
> java:printError(380)) - Failed with exception null
> java.lang.NullPointerException
>        at
> org.apache.hadoop.hive.ql.metadata.Table.checkValidity(Table.java:162
> )
>        at org.apache.hadoop.hive.ql.metadata.Hive.getTable(Hive.java:946)
>        at org.apache.hadoop.hive.ql.metadata.Hive.getTable(Hive.java:860)
>        at
> org.apache.hadoop.hive.ql.exec.DDLTask.describeTable(DDLTask.java:252
> 7)
>        at org.apache.hadoop.hive.ql.exec.DDLTask.execute(DDLTask.java:298)
>        at org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:133)
>        at
> org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.ja
> va:57)
>        at org.apache.hadoop.hive.ql.Driver.launchTask(Driver.java:1332)
>        at org.apache.hadoop.hive.ql.Driver.execute(Driver.java:1123)
>        at org.apache.hadoop.hive.ql.Driver.run(Driver.java:931)
>        at
> org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:261)
>        at
> org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:218)
>        at
> org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:409)
>        at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:684)
>        at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:567)
>        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 org.apache.hadoop.util.RunJar.main(RunJar.java:156)
>
> 2012-06-18 19:51:23,180 ERROR org.apache.hadoop.hive.ql.Driver
> (SessionState.java:printError(380)) - FAILED: Execution Error, return code
> 1 from org.apache.hadoop.hive.ql.exec.DDLTask
>
> Does anyone have experience with this?
>
> Thanks,
>
> Ranjan
>
>

Reply via email to