#IMPALA刷新元数据的两种方式
impala刷新元数据又两种方式,分别是INVALIDATE METADATA和REFRESH操作。其中REFRESH是轻量级的,对表没有进行ddl操作,进行增量操作的刷新方式。INVALIDATE METADATA 是重量级的刷新方式,使用这个命令后会使表的元数据失效,但是可能会造成延迟。
#在CDH6.X刷新元数据方式
在以前的cdh版本中,我们一般是使用脚本来进行元数据的刷新。比如 -r 或者 INVALIDATE METADATA [tablename],但是在cdh6 中,-r命令被取消了,使用INVALIDATE METADATA进行刷新又是重量级,可能会造成数据查询比较慢。于是cdh的官网给我们推荐了自动刷新元数据的方式。文档地址:[link]https://docs.cloudera.com/documentation/enterprise/6/6.3/topics/impala_metadata.html。
需要注意的是,这个文档是基于impala3.3版本的,对于其他版本的配置不能使用这个方式。
#配置如下:
在impal的配置页面,选择高级->Catalog Server 命令行参数高级配置代码段(安全阀)
然后添加如下参数
--hms_event_polling_interval_s=1
添加后不能现在重启impala,这样会重启失败,还需要再hive里面添加相应的参数配置
1.选择hms 中启用数据库的存储通知,大对勾
2.选择 高级-> hive-site.xml 的 Hive 服务高级配置代码段(安全阀)
添加
hive.metastore.dml.events
true
3.hive-site.xml 的 Hive 客户端高级配置代码段(安全阀)
hive.metastore.dml.events
true
4.hive-site.xml 的 Hive Metastore Server 高级配置代码段(安全阀)
hive.metastore.notifications.add.thrift.objects
true
hive.metastore.alter.notifications.basic
false
5.保持修改,然后重启hive和impala
6.验证成功