一、Impala和Hive的关系
Impala是基于Hive的大数据实时分析查询引擎,直接使用Hive的元数据库Metadata,意味着impala元数据都存储在Hive的metastore中。并且impala兼容Hive的sql解析,实现了Hive的SQL语义的子集,功能还在不断的完善中。
二、常见查询问题
1、在Hive上建表,Impala上查询不到该表。报错:AnalysisException: Could not resolve table reference: 'table_name'.
所在Hive中作的DDL操作,以及数据加载操作,在Impala中都需要用INVALIDATE METADATA/REFRESH语句刷新字典缓存后,才能正常查询。但反过来却不需要。
eg:
方法1:
invalidate metadata; //刷新数据字典缓存
方法2:
在界面上刷新
2、在hive中更新表的数据,而在Impala上查询却未展示最新数据,应刷新表数据。
refresh table_name;
eg:
refresh ods.ehr1_hrview_md;
3、impala 2.x不支持对orc格式的表数据进行查询,impala 3.x支持。
持续更新。。。