我是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
我该怎么做才能解决这个问题?
任何帮助都非常有用。
答案 0 :(得分:0)
您的配置单元客户端看起来与您要连接的Metastore不匹配。请提供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>