为什么impala没有显示Hive创建的所有表

问题描述 投票:0回答:1

我已经使用sqoop将所有表导入到Hive数据库“sqoop_import”中,能够看到所有表成功导入,如下所示: -

hive> use sqoop_import;
OK
Time taken: 0.026 seconds
hive> show tables;
OK
categories
customers
departments
order_items
orders
products
Time taken: 0.025 seconds, Fetched: 6 row(s)
hive> 

但是当我使用相同的用户从impala-shell或Hue尝试相同的时候,它显示的结果如下: -

[quickstart.cloudera:21000] > use sqoop_import;
Query: use sqoop_import
[quickstart.cloudera:21000] > show tables;
Query: show tables
+--------------+
| name         |
+--------------+
| customers    |
| customers_nk |
+--------------+
Fetched 2 row(s) in 0.01s
[quickstart.cloudera:21000] > 

我究竟做错了什么?

hive impala cloudera-cdh cloudera-quickstart-vm
1个回答
0
投票

当您使用sqoop将新表导入hive时,为了通过Impala-Shell查看它,您应该忽略特定表的METADATA。因此,从Impala-Shell运行以下命令:impala-shell -d DB_NAME -q“INVALIDATE METADATA table_name”; 。

但是,如果您通过sqoop将新数据文件附加到现有表,则需要执行REFRESH。因此,从Impala-Shell运行以下命令:impala-shell -d DB_NAME -q“REFRESH table_name”;.

© www.soinside.com 2019 - 2024. All rights reserved.