hive創建表,一通報錯猛如虎

記錄一下心血歷程,學hive的第一天就給我來了個下馬威

使用的版本如下

mysql:5.6.24
hive:1.2.1

本想創建表格
hive (test)> create table stu(id int, name string);

不料這都能報錯,還卡了我一天。。。

FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. 
MetaException(message:For direct MetaStore DB connections, we don't support retries at the client level.)

遇到問題那肯定是Ctrl+C Ctrl+V上搜索引擎找之前掉到坑裏的人,查看各種前輩的文章,內容千篇一律,都是將hive表的字符集改爲latin1

alter database hive character set latin1;
然而我的MySQL裏面沒有hive數據庫,不禁發出疑問,這有什麼聯繫嗎?

在這裏插入圖片描述
後來又看到加強版,先刪除hive數據庫再創建hive數據庫最後修改字符集,看起來好像還挺靠譜的

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

既然沒有hive數據庫那就直接創建+該字符集吧,然而並沒有什麼卵用,自己創建個hive自己騙自己。。。

a night later

爲啥都改hive的字符集呢?難道啓動hive後mysql裏面就有hive數據庫了,我前面應該也沒出錯啊,而且之前能創建表(使用hive自帶數據庫),後來關聯了mysql就不行了,更是說明了我原數據關聯上mysql了,等等,這怎麼有個metastore???難道???

mysql> alter database metastore character set latin1;

問題解決了。
解決了。
決了。
了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章