我有一个Impala Kudu设置,我有下表:
CREATE TABLE IF NOT EXISTS impala_table (id STRING),
PRIMARY KEY (id))
distribute BY hash(id) into 5 buckets
STORED AS kudu
TBLPROPERTIES('kudu.table_name' = 'impala_tabl', 'kudu.master_addresses' = 'xx.xxx.xxxxx:xxxx');
在此之后我创建了另一个表,但意外地给了它相同的kude.table_name
CREATE TABLE IF NOT EXISTS impala_other_table (id STRING),
PRIMARY KEY (id))
distribute BY hash(id) into 5 buckets
STORED AS kudu
TBLPROPERTIES('kudu.table_name' = 'impala_tabl', 'kudu.master_addresses' = 'xx.xxx.xxxxx:xxxx');
我删除了Impala中的第二个表,但是现在第一个表仍然存在于表列表中但是如果我尝试使用它我得到一个表不存在错误。如果我尝试重新创建表,我会得到一个表已存在错误。
所以kudu表impala_tabl
已经消失,但Impala引用仍然存在于元存储中的某处。
我尝试改变impala表以指向另一个kudu表名,但我无法改变表(不存在)。还试过REFRESH没有成功。
有谁知道我如何删除这个Impala引用?
FIX:我创建了一个指向同一个kudu表的新Impala表。然后我将表更改为外部表。之后我能够放下外部表和我在第一步中创建的表。