2014-10-31 106 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