关于hive和impala互为前后台的两个坑

Impala 与 Hive 之间互为前后台

有时候你会发现,切换到 Hive 执行下数据加载或转换操作比较方便,特别是处理 RCFile, SequenceFile, 和 Avro 等这些 Impala 暂时只支持查询不支持写入的数据文件格式

无论你在 Hive 中 create, drop, 或 alter 了一个表或其他对象,当切换回 impala-shell 时,立即执行一个 INVALIDATE METADATA 语句,这样 Impala 才会承认新增或修改的对象。

无论你在 Hive 中 load, insert, 或 change 了现存表中的数据 (乃至直接通过 HDFS 操作如 hdfs 命令),当切换回 impala-shell 时,立即执行 REFRESH table_name 语句,这样 Impala 才会承认新增或修改的数据。

关于 REFRESH 语句处理过程的演示,可以查看在 Impala 中创建 RCFile 和 SequenceFile 表,通过 Hive 加载数据,通过 Impala 查询数据的例子。 参见 Using the RCFile File Format with Impala Tables 和 Using the SequenceFile File Format with Impala Tables 。

关于 INVALIDATE METADATA 语句处理过程的演示,可以查看在 Hive 中创建 Avro 表并加载数据,通过Impala查询的例子,参见Using the Avro File Format with Impala Tables

发布了189 篇原创文章 · 获赞 80 · 访问量 41万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章