为什么Impala不显示Hive创建的所有表

时间:2018-07-22 22:03:22

标签: hive impala cloudera-cdh cloudera-quickstart-vm

我已将使用sqoop的所有表导入到Hive数据库“ sqoop_import”中,该数据库可以查看如下所示成功导入的所有表:-

public fun String.removeSurrounding(delimiter: CharSequence): String = removeSurrounding(delimiter, delimiter)

public fun String.removeSurrounding(prefix: CharSequence, suffix: CharSequence): String {
    if ((length >= prefix.length + suffix.length) && startsWith(prefix) && endsWith(suffix)) {
        return substring(prefix.length, length - suffix.length)
    }
    return this
}

但是当我使用同一用户从impala-shell或Hue尝试相同操作时,它显示出以下不同结果:-

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> 

我在做什么错?

1 个答案:

答案 0 :(得分:0)

将包含sqoop new 表导入到hive时,为了通过Impala-Shell进行查看,您应 INVALIDATE METADATA 具体表。因此,从Impala-Shell运行以下命令: impala-shell -d DB_NAME -q“ INVALIDATE METADATA table_name”;

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