我已经使用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] >
我究竟做错了什么?
当您使用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”;.