我已将使用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>
我在做什么错?
答案 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“刷新表名”; 。