hive-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mithun Radhakrishnan (Created) (JIRA)" <j...@apache.org>
Subject [jira] [Created] (HIVE-2928) Support for Oracle-backed Hive-Metastore ("longvarchar" to "clob" in package.jdo)
Date Fri, 06 Apr 2012 00:56:21 GMT
Support for Oracle-backed Hive-Metastore ("longvarchar" to "clob" in package.jdo)
---------------------------------------------------------------------------------

                 Key: HIVE-2928
                 URL: https://issues.apache.org/jira/browse/HIVE-2928
             Project: Hive
          Issue Type: New Feature
          Components: Metastore
    Affects Versions: 0.8.1
            Reporter: Mithun Radhakrishnan


I'm trying to get the Hive-Metastore to work when backed by an Oracle backend. There's a change
to hive's package.jdo that I'd like advice/comments on.

One sticking point on working with Oracle has been the TBLS table (MTable) and its 2 LONGVARCHAR
properties (VIEW_ORIGINAL_TEXT and VIEW_EXPANDED_TEXT). Oracle doesn't support more than one
LONGVARCHAR property per table (for reason of legacy), and prefers that one use CLOBs instead.
If one switches to CLOB properties, with no modification to hive's package.jdo, one sees the
following exception:

<quote>
Incompatible data type for column TBLS.VIEW_EXPANDED_TEXT : was CLOB
(datastore), but type expected was LONGVARCHAR (metadata). Please check that
the type in the datastore and the type specified in the MetaData are
consistent.
org.datanucleus.store.rdbms.exceptions.IncompatibleDataTypeException:
Incompatible data type for column TBLS.VIEW_EXPANDED_TEXT : was CLOB
(datastore), but type expected was LONGVARCHAR (metadata). Please check that
the type in the datastore and the type specified in the MetaData are
consistent.
        at
org.datanucleus.store.rdbms.table.ColumnImpl.validate(ColumnImpl.java:521)
        at
org.datanucleus.store.rdbms.table.TableImpl.validateColumns(TableImpl.java:2
</quote>

But if one rebuilds Hive with the package.jdo changed to use CLOBs instead of LONGVARCHARs,
things look promising:
1. The exception no longer occurs. Things seem to work with Oracle. (I've yet to scale-test.)
2. These modified hive-libraries work as is with pre-existing mysql metastores. Migrating
data isn't a worry.
3. The unit-tests seem to run through. 

Would there be opposition to changing the package.jdo's LONGVARCHAR references to CLOB, if
this works with mysql and with Oracle? 

Mithun

P.S. I also have a working hive-schema-0.9.0-oracle.sql script that I'm testing, for the related
issue of creating the required tables in Oracle.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message