Hive 和 Impala 集成是不是可行?

Posted

技术标签:

【中文标题】Hive 和 Impala 集成是不是可行?【英文标题】:Is Hive and Impala integration possible?Hive 和 Impala 集成是否可行? 【发布时间】:2018-12-17 10:15:27 【问题描述】:

HiveImpala 可以集成吗?

在 hive 中进行数据处理后,我想将结果数据存储在 impala 中以便更好地阅读,这可能吗?

如果可以,请分享一个例子。

【问题讨论】:

【参考方案1】:

hive 和 impala 都不存储任何数据。数据存储在 HDFS 位置,hive 和 impala 都仅用于可视化/转换 HDFS 中存在的数据。

所以是的,您可以使用 hive 处理数据,然后使用 impala 读取它,考虑到它们都已正确设置。但是由于impala需要刷新,所以需要运行invalidate metadata和refresh命令

【讨论】:

【参考方案2】:

Impala 使用 HIVE 元存储来读取数据。一旦你在 hive 中创建了一个表,就可以使用 Impala 读取和查询相同的表。您只需要刷新表或在 impala 中触发 INVALIDATE METADATA 即可读取数据。

希望这会有所帮助:)

【讨论】:

【参考方案3】:

Hive 和 impala 是两个不同的查询引擎。每个查询引擎在其架构和性能方面都是独一无二的。我们可以使用 hive Metastore 获取元数据并使用 impala 运行查询。常见的用例是从画面连接 impala/hive。如果我们从 tableau 中可视化 hive,我们无需任何工作即可获得最新数据。如果我们继续不断地加载数据,元数据也会更新。 Impala 不知道这些变化。因此,我们应该通过连接 impalad 来运行元数据无效查询以刷新其状态并与 Metastore 中可用的最新信息同步。因此,当使用 impala 引擎从 tableau 运行相同的查询时,该用户将获得与 hive 相同的结果。

现在没有可用于定期运行此失效查询的配置参数。这个blog读得很好,可以通过oozie调度器定期执行元数据失效查询来处理此类问题,或者我们可以简单地从服务器本身设置一个cronjob。

【讨论】:

以上是关于Hive 和 Impala 集成是不是可行?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 HBase 和 Impala 中提取给定日期而不与 hive 集成的星期几?

Impala系列: Impala常用的功能函数

在cm安装的大数据管理平台中集成impala之后读取hive表中的数据的设置(hue当中执行impala的数据查询)

Hive 和 Impala 之间的正则表达式的语法是不是不同?

PySpark 和 HIVE/Impala

为啥数组值出现在 impala 中而不是 hive 中?