0

私はHadoopの世界の新しいミツバチです。ハイブに内部テーブルを作成し、そこにデータをインポートしようとしました。

次に、テーブルを削除しようとしましたが、次のエラーが発生しました。

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 に答える