2014-10-31 63 views
0

我有一個腳本來創建一個配置單元表,腳本成功完成,但我無法看到表,請幫助。配置單元表沒有顯示在命令行界面

下面

是腳本來創建表生成 #!/bin/bash hive <<! > hive_out.log create table GoodRecords( id int, name string, state string, phone_no int, gender string) row format delimited fields terminated by ',' stored as textfile; exit; !

日誌: `蜂房>創建表GoodRecords(

ID INT, 名稱字符串, 狀態串, phone_no INT, 性別字符串)以''結尾的格式分隔字段 存儲爲文本文件; 蜂房>出口;`

GUI Hadoop的顯示,該表已經建立: /user/hive/warehouse/goodrecords

命令行輸出到showtables。 hive> show tables; OK Time taken: 0.34 seconds

+0

嘗試打印表值。 select * from GoodRecords – Kumar 2014-10-31 10:36:41

+0

我已經執行了上面的命令,但下面是輸出.. 'hive> select * from GoodRecords; 失敗:SemanticException [錯誤10001]:行1:14表未找到'GoodRecords'' – Dinesh 2014-10-31 11:35:48

+0

創建表GoodRecords(id int,名稱字符串,狀態字符串,phone_no int,性別字符串)以''結尾的行格式分隔字段存儲作爲文本文件;從終端嘗試這個命令。然後運行顯示錶; – Kumar 2014-10-31 11:42:59

回答

0

設置Hive Metastore服務存在一些問題。

只要嘗試重新啓動您的Metastore服務。它應該工作。

+0

我做過很多次了,我面臨同樣的問題。 – Dinesh 2014-11-03 06:15:44

+0

當我用第三方軟件創建表時,我也面臨同樣的問題。 我可以看到該表是在日誌中創建的,但在CLI中看不到,但該表存在於hadoop中。 – Dinesh 2014-11-03 06:17:22

+0

這可能會發生,因爲您可能沒有對您的Metastore的臨時文件夾的寫入權限。例如,如果您的Metastore在MySQL中,則授予tmp文件夾中的所有權限。 – 2017-01-13 05:04:21