I see, Mtable and MStorageDescriptor both own a map named parameters, so we
can add new key,val pairs by putting into the parameters map. The
parameters map will be persisted as part of MTable, is that right?
We actually may need to add new meta objects into the system, for example,
we want to distribute data ourselves and record some distribution
information. Avoiding to confuse the Mtable, MStorageDescriptor and
MFieldSchema, these newly added info should be separated.
Since the metadata access is through thrift, we need to work on this in the
thrift way. Where I can get started for this? Where is the thrift-related
definition?
By the way, I have trouble in running the remote metastore with mysql, here
is the error msg:
org.jpox.jdo.exceptions.ClassNotPersistenceCapableException: The class "The
class "org.apache.hadoop.hive.metastore.model.MDatabase" is not persistable.
This means that it either hasnt been enhanced, or that the enhanced version
of the file is not in the CLASSPATH (or is hidden by an unenhanced version),
or the Meta-Data/annotations for the class are not found." is not
persistable. This means that it either hasnt been enhanced, or that the
enhanced version of the file is not in the CLASSPATH (or is hidden by an
unenhanced version), or the Meta-Data for the class is not found.
at
org.jpox.jdo.JPOXJDOHelper.getJDOExceptionForJPOXException(JPOXJDOHelper.jav
a:255)
at
org.jpox.jdo.AbstractPersistenceManager.jdoMakePersistent(AbstractPersistenc
eManager.java:671)
at
org.jpox.jdo.AbstractPersistenceManager.makePersistent(AbstractPersistenceMa
nager.java:691)
at
org.apache.hadoop.hive.metastore.ObjectStore.createDatabase(ObjectStore.java
:272)
at
org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.createDefaultDB(Hi
veMetaStore.java:145)
at
org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.init(HiveMetaStore
.java:115)
at
org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.<init>(HiveMetaSto
re.java:94)
at
org.apache.hadoop.hive.metastore.HiveMetaStore.main(HiveMetaStore.java:625)
NestedThrowablesStackTrace:
The class "org.apache.hadoop.hive.metastore.model.MDatabase" is not
persistable. This means that it either hasnt been enhanced, or that the
enhanced version of the file is not in the CLASSPATH (or is hidden by an
unenhanced version), or the Meta-Data/annotations for the class are not
found.
org.jpox.exceptions.ClassNotPersistableException: The class
"org.apache.hadoop.hive.metastore.model.MDatabase" is not persistable. This
means that it either hasnt been enhanced, or that the enhanced version of
the file is not in the CLASSPATH (or is hidden by an unenhanced version), or
the Meta-Data/annotations for the class are not found.
at
org.jpox.ObjectManagerImpl.assertClassPersistable(ObjectManagerImpl.java:362
7)
at
org.jpox.ObjectManagerImpl.persistObjectInternal(ObjectManagerImpl.java:1135
)
at
org.jpox.ObjectManagerImpl.persistObject(ObjectManagerImpl.java:1077)
at
org.jpox.jdo.AbstractPersistenceManager.jdoMakePersistent(AbstractPersistenc
eManager.java:666)
at
org.jpox.jdo.AbstractPersistenceManager.makePersistent(AbstractPersistenceMa
nager.java:691)
at
org.apache.hadoop.hive.metastore.ObjectStore.createDatabase(ObjectStore.java
:272)
at
org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.createDefaultDB(Hi
veMetaStore.java:145)
at
org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.init(HiveMetaStore
.java:115)
at
org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.<init>(HiveMetaSto
re.java:94)
at
org.apache.hadoop.hive.metastore.HiveMetaStore.main(HiveMetaStore.java:625)
What I missed?
Thanks very much.
On 09-2-7 下午1:47, "Prasad Chakka" <[email protected]> wrote:
> What kind of data do you want to add?
>
> You can add arbitrary key, val pairs to table & sd metadata objects right now.
> It is a little bit of work If you want to add new objects.
>
>
> From: Yongqiang He <[email protected]>
> Reply-To: <[email protected]>
> Date: Fri, 6 Feb 2009 21:41:13 -0800
> To: <[email protected]>
> Subject: Re: Why hive interact with the metastore through thrift?
>
> Ok. Thanks.
> What should I do if I want to extend the hive metadata, for example adding
> some fields to table/database schema or adding new meta types?
--
Best regards!
He Yongqiang
Email: [email protected]
Tel: 86-10-62600969(O)
Fax:86-10-626000900
Key Laboratory of Network Science and Technology/
Research Center for Grid and Service Computing,
Institute of Computing Technology, Chinese Academy of Sciences,
No.3 Kexueyuan South Road,
Beijing 100190, China