#数据#0757-6.3.3-如何配置impala自动同步HMS元数据( 二 )

 #数据#0757-6.3.3-如何配置impala自动同步HMS元数据
文章图片

在impala 中查看
0: jdbc:hive2://cdh2.hadoop.com:10000/> use test; 0: jdbc:hive2://cdh2.hadoop.com:10000/> create table test1(a string); 0: jdbc:hive2://cdh2.hadoop.com:10000/> create table test1(a string); 0: jdbc:hive2://cdh2.hadoop.com:10000/> show tables;  #数据#0757-6.3.3-如何配置impala自动同步HMS元数据
文章图片

drop table 测试
0: jdbc:hive2://cdh2.hadoop.com:10000/> drop table test1; 0: jdbc:hive2://cdh2.hadoop.com:10000/> show tables;  #数据#0757-6.3.3-如何配置impala自动同步HMS元数据
文章图片

在impala 中查看
[cdh1.hadoop.com:21000] test> show tables; 【 #数据#0757-6.3.3-如何配置impala自动同步HMS元数据】 #数据#0757-6.3.3-如何配置impala自动同步HMS元数据
文章图片

另外HMS 支持表单独禁用impala 自动刷新元数据功能,但是impala 中不支持database 的单独禁用该功能
如果 'impala.disableHmsSync'='true',表示事件将被忽略,并且不会与HMS同步。
如果设置 'impala.disableHmsSync'='false' 或者 impala.disableHmsSync 未设置,则启用与HMS的自动同步,- -hms_event_polling_interval_s 全局标志设置为非零。
0: jdbc:hive2://cdh2.hadoop.com:10000/> CREATE TABLE disabletest (s1 string ,s2 string) TBLPROPERTIES ('impala.disableHmsSync'='true');  #数据#0757-6.3.3-如何配置impala自动同步HMS元数据
文章图片

单独禁用表的自动更新元数据后在impala就无法查询刚刚创建的表
 #数据#0757-6.3.3-如何配置impala自动同步HMS元数据
文章图片

文档总结
在日常使用如Hive和Spark之类的工具来处理Hive表中的原始数据时,会生成新的HMS元数据(数据库、表、分区)和文件系统元数据(现有分区/表中的新文件)。在以前的Impala版本中,为了获取最新元数据信息,Impala需要手动执行INVALIDATE 或者 REFRESH 命令。随着impala 功能的不断完善,impala 的元数据同步问题终于在impala3.2得到有效的解决,并且该配置在CDP7.0.3中默认已经集成。
参考文档:
https://docs.cloudera.com/documentation/enterprise/6/6.3/topics/impala_metadata.html


推荐阅读