You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@hive.apache.org by Rahul Channe <dr...@googlemail.com> on 2014/09/22 19:47:45 UTC

Oracle backend for Hive Metastore

Hi All,

I am using oracle as hive metastore. I could see the schema created in
oracle after logging into hive and executing create database command
successfully.

When i am trying to create table in hive its throwing error, please help

hive>  create table test ( name string,age int) row format delimited fields
terminated by ",";
FAILED: Execution Error, return code 1 from
org.apache.hadoop.hive.ql.exec.DDLTask.
MetaException(message:javax.jdo.JDODataStoreException: An exception was
thrown while adding/validating class(es) : ORA-01754: a table may contain
only one column of type LONG

java.sql.SQLException: ORA-01754: a table may contain only one column of
type LONG

        at
oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
        at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
        at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
        at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:743)
        at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:207)
        at
oracle.jdbc.driver.T4CStatement.executeForRows(T4CStatement.java:946)
        at
oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1160)
        at
oracle.jdbc.driver.OracleStatement.executeInternal(OracleStatement.java:1679)

Re: Oracle backend for Hive Metastore

Posted by hadoop hive <ha...@gmail.com>.
You can import the metastore db in oracle directly.

Inside oracle db
@/path/to/oracle-hive-0.12.0.sql
 On Sep 23, 2014 9:08 PM, "Rahul Channe" <dr...@googlemail.com> wrote:

> Hi Alan,
>
> I am using version 0.12.0, I did not create tables explicitly.
>
> Temporarily I modified the hive-metastore jar to update long data type to
> clob and it worked
>
> Not sure if it's hive bug
>
> On Tuesday, September 23, 2014, Alan Gates <ga...@hortonworks.com> wrote:
>
>> What version of Hive are you using?
>>
>> Did you explicitly create the tables in the metastore via the Oracle
>> script or depend on DataNucleus to do it for you?
>>
>> Alan.
>>
>>   Rahul Channe
>>  September 22, 2014 at 10:47
>> Hi All,
>>
>> I am using oracle as hive metastore. I could see the schema created in
>> oracle after logging into hive and executing create database command
>> successfully.
>>
>> When i am trying to create table in hive its throwing error, please help
>>
>> hive>  create table test ( name string,age int) row format delimited
>> fields terminated by ",";
>> FAILED: Execution Error, return code 1 from
>> org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(
>> message:javax.jdo.JDODataStoreException: An exception was thrown while
>> adding/validating class(es) : ORA-01754: a table may contain only one
>> column of type LONG
>>
>> java.sql.SQLException: ORA-01754: a table may contain only one column of
>> type LONG
>>
>>         at
>> oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
>>         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
>>         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
>>         at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:743)
>>         at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:207)
>>         at
>> oracle.jdbc.driver.T4CStatement.executeForRows(T4CStatement.java:946)
>>         at
>> oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1160)
>>         at
>> oracle.jdbc.driver.OracleStatement.executeInternal(OracleStatement.java:1679)
>>
>>
>> --
>> Sent with Postbox <http://www.getpostbox.com>
>>
>> CONFIDENTIALITY NOTICE
>> NOTICE: This message is intended for the use of the individual or entity
>> to which it is addressed and may contain information that is confidential,
>> privileged and exempt from disclosure under applicable law. If the reader
>> of this message is not the intended recipient, you are hereby notified that
>> any printing, copying, dissemination, distribution, disclosure or
>> forwarding of this communication is strictly prohibited. If you have
>> received this communication in error, please contact the sender immediately
>> and delete it from your system. Thank You.
>
>

Re: Oracle backend for Hive Metastore

Posted by Rahul Channe <dr...@googlemail.com>.
Hi Alan,

I am using version 0.12.0, I did not create tables explicitly.

Temporarily I modified the hive-metastore jar to update long data type to
clob and it worked

Not sure if it's hive bug

On Tuesday, September 23, 2014, Alan Gates <ga...@hortonworks.com> wrote:

> What version of Hive are you using?
>
> Did you explicitly create the tables in the metastore via the Oracle
> script or depend on DataNucleus to do it for you?
>
> Alan.
>
>   Rahul Channe <javascript:_e(%7B%7D,'cvml','drahulc@googlemail.com');>
>  September 22, 2014 at 10:47
> Hi All,
>
> I am using oracle as hive metastore. I could see the schema created in
> oracle after logging into hive and executing create database command
> successfully.
>
> When i am trying to create table in hive its throwing error, please help
>
> hive>  create table test ( name string,age int) row format delimited
> fields terminated by ",";
> FAILED: Execution Error, return code 1 from
> org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(
> message:javax.jdo.JDODataStoreException: An exception was thrown while
> adding/validating class(es) : ORA-01754: a table may contain only one
> column of type LONG
>
> java.sql.SQLException: ORA-01754: a table may contain only one column of
> type LONG
>
>         at
> oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
>         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
>         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
>         at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:743)
>         at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:207)
>         at
> oracle.jdbc.driver.T4CStatement.executeForRows(T4CStatement.java:946)
>         at
> oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1160)
>         at
> oracle.jdbc.driver.OracleStatement.executeInternal(OracleStatement.java:1679)
>
>
> --
> Sent with Postbox <http://www.getpostbox.com>
>
> CONFIDENTIALITY NOTICE
> NOTICE: This message is intended for the use of the individual or entity
> to which it is addressed and may contain information that is confidential,
> privileged and exempt from disclosure under applicable law. If the reader
> of this message is not the intended recipient, you are hereby notified that
> any printing, copying, dissemination, distribution, disclosure or
> forwarding of this communication is strictly prohibited. If you have
> received this communication in error, please contact the sender immediately
> and delete it from your system. Thank You.

Re: Oracle backend for Hive Metastore

Posted by Alan Gates <ga...@hortonworks.com>.
What version of Hive are you using?

Did you explicitly create the tables in the metastore via the Oracle 
script or depend on DataNucleus to do it for you?

Alan.

> Rahul Channe <ma...@googlemail.com>
> September 22, 2014 at 10:47
> Hi All,
>
> I am using oracle as hive metastore. I could see the schema created in 
> oracle after logging into hive and executing create database command 
> successfully.
>
> When i am trying to create table in hive its throwing error, please help
>
> hive>  create table test ( name string,age int) row format delimited 
> fields terminated by ",";
> FAILED: Execution Error, return code 1 from 
> org.apache.hadoop.hive.ql.exec.DDLTask. 
> MetaException(message:javax.jdo.JDODataStoreException: An exception 
> was thrown while adding/validating class(es) : ORA-01754: a table may 
> contain only one column of type LONG
>
> java.sql.SQLException: ORA-01754: a table may contain only one column 
> of type LONG
>
>         at 
> oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
>         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
>         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
>         at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:743)
>         at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:207)
>         at 
> oracle.jdbc.driver.T4CStatement.executeForRows(T4CStatement.java:946)
>         at 
> oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1160)
>         at 
> oracle.jdbc.driver.OracleStatement.executeInternal(OracleStatement.java:1679)
>

-- 
Sent with Postbox <http://www.getpostbox.com>

-- 
CONFIDENTIALITY NOTICE
NOTICE: This message is intended for the use of the individual or entity to 
which it is addressed and may contain information that is confidential, 
privileged and exempt from disclosure under applicable law. If the reader 
of this message is not the intended recipient, you are hereby notified that 
any printing, copying, dissemination, distribution, disclosure or 
forwarding of this communication is strictly prohibited. If you have 
received this communication in error, please contact the sender immediately 
and delete it from your system. Thank You.