1. 程式人生 > >Hive建立表格報Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException的錯誤

Hive建立表格報Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException的錯誤

1.首先保證hive正常配置, 修改$HIVE_HOME/conf/hive-site.xml

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=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>
</configuration>

注意:這裡指定的資料庫最好是hive , 不要寫hivedb什麼的,其原因是減少出現錯誤的概率和解決hive相關bug的難度

2. 進入mysql資料庫中刪除hive資料庫,重新建立,這裡是為了避免資料庫編碼出現問題

mysql -u root -p 

drop database hive; create database hive; alter database hive character set latin1;

3.重啟hive 

hive -hiveconf hive.root.logger=DEBUG,console

4.在hive中建立資料庫,指定資料庫, 建立表

create database test;

use test;

create table a(x int);

最後,終於可以建立資料表了!!!!問題解決!!