0

我是hadoop世界中的一只新蜜蜂。我在 hive 中创建了一个内部表,并尝试将数据导入其中。

然后我尝试删除表格但出现以下错误。

FAILED: Error in metadata: MetaException(message:javax.jdo.JDOException: Cannot join from org.datanucleus.store.rdbms.mapping.java.PersistableMapping@6a9ccd9f to org.datanucleus.store.rdbms.mapping.java.PersistableMapping@55eb1db2 since they have different numbers of datastore columns!
NestedThrowables:
org.datanucleus.exceptions.NucleusException: Cannot join from org.datanucleus.store.rdbms.mapping.java.PersistableMapping@6a9ccd9f to org.datanucleus.store.rdbms.mapping.java.PersistableMapping@55eb1db2 since they have different numbers of datastore columns!)
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask

我能做些什么来解决这个问题?

任何帮助都是高度赞赏的。

4

1 回答 1

0

看起来您的配置单元客户端与您要连接的元存储不匹配。请提供 hive-site.xml 内容,特别是.metastore。相关属性。

以下是要研究的属性

<property>
  <name>javax.jdo.option.ConnectionURL</name>
  <value>jdbc:mysql://localhost/metastore?createDatabaseIfNotExist=true</value>
  <description>the URL of the MySQL database</description>
</property>

<property>
  <name>hive.metastore.local</name>
  <value>true</value>
</property>

<property>
  <name>javax.jdo.option.ConnectionDriverName</name>
  <value>com.mysql.jdbc.Driver</value>
</property>

<property>
  <name>javax.jdo.option.ConnectionUserName</name>
  <value>root</value>
</property>

<property>
  <name>javax.jdo.option.ConnectionPassword</name>
  <value>root</value>
</property>

<property>
  <name>datanucleus.autoCreateSchema</name>
  <value>true</value>
</property>

<property>
  <name>datanucleus.fixedDatastore</name>
  <value>true</value>
</property>
于 2014-06-11T07:27:25.483 回答