Impala Hive转换


在Impala中,切换到Hiveshell来执行一些数据加载或转换的操作很方便,尤其是对于Impala当前可以查询但不能写入的文件格式而言,例如RCFile、SequenceFile和Avro。

  • 当您通过Hive创建、删除或更改表之后切换回impala-shell解释器时,需要执行INVALIDATEMETADATA语句,以便Impala识别新的或更改的对象。
  • 当您通过Hive(甚至通过手动HDFS操作,例如hdfs命令)加载、插入或更改现有表中的数据之后切换回impala-shell解释器时,需要执行REFRESHtable_name 语句,以便Impala识别新的或更改的数据。

注意:

最初,Impala不支持Hive UDF(Hive自定义函数),但从Impala 1.2版本开始,该功能就可以在Impala中使用了。

您最初通过Hive进行的一些转换现在可以通过Impala完成。在Impala1.2之前,需要在您连接并发出查询的每个Impala节点上发出EFRESHandINVALIDATEMETADATA语句。

在Impala1.2及更高版本中,当您在任何Impala节点上发出这些语句中的任何一条时,结果将广播到集群中的所有Impala节点,使其真正成为Hive中每一轮DDL或ETL操作后的一步操作。