外部表(CREATE EXTERNAL TABLE)不受Impala管理,并且删除此表不会将表从其源位置(此处为Kudu)丢弃。相反,它只会去除Impala和Kudu之间的映射。Kudu提供了用于将现有表映射到Impala的语法。
使用impala创建外部表 , 将kudu的表映射到impala上
CREATE EXTERNAL TABLE kududb.bi001t0 (
id BIGINT NOT NULL ENCODING AUTO_ENCODING COMPRESSION DEFAULT_COMPRESSION,
mark STRING NULL ENCODING AUTO_ENCODING COMPRESSION DEFAULT_COMPRESSION,
mark_nm STRING NULL ENCODING AUTO_ENCODING COMPRESSION DEFAULT_COMPRESSION,
yyyymmdd STRING NULL ENCODING AUTO_ENCODING COMPRESSION DEFAULT_COMPRESSION,
tab_no STRING NULL ENCODING AUTO_ENCODING COMPRESSION DEFAULT_COMPRESSION,
data_time STRING NULL ENCODING AUTO_ENCODING COMPRESSION DEFAULT_COMPRESSION,
start_time STRING NULL ENCODING AUTO_ENCODING COMPRESSION DEFAULT_COMPRESSION,
end_time STRING NULL ENCODING AUTO_ENCODING COMPRESSION DEFAULT_COMPRESSION,
memo STRING NULL ENCODING AUTO_ENCODING COMPRESSION DEFAULT_COMPRESSION,
create_date TIMESTAMP NULL ENCODING AUTO_ENCODING CO

当Kudu中的元数据丢失时,需要重建与Impala的映射关系。删除外部表并不会从Kudu中删除数据,而是解除与Impala的关联。通过Impala的CREATE EXTERNAL TABLE语句,可以重新建立Kudu表与Impala的连接,实现元数据的恢复。
最低0.47元/天 解锁文章
1958





