情况 - 每天大约3000万行,CDH 5.2集群中的Impala托管表中的2年数据(16个节点,共享集群)。
尝试将每日聚合逻辑放在一起,其中一天数据被引入并聚合,并且该过程在随后的几天中一遍又一遍地重复。 (通过黑斑羚)
这是一个一次性过程,用于创建整个2年窗口的聚合,随后由其他工具使用。
我想知道,如果工具选择真的是正确的吗?我们不应该通过将这个工作分配给hive来利用集群的能力(这样它可以相对容易地触发mapreduce和聚合)?
[编辑]
只是为了澄清,数据已经在Impala表上了,我所指的聚合正在进行中。我从解决方案的角度思考的是,将这些数据提供给hive表(而不是impala表)然后让map-reduce处理聚合会更好吗?
基于impala的聚合对我们来说真的很慢,虽然我们正在考虑调整它,我想知道我们是否可以做一些差异吗?
答案 0 :(得分:3)
正如你所说的那样通过hive完成摄取 - 但是impala会给你更好的读取性能(/ s)。因此,考虑到您的分析堆栈可以在impala上工作,而您的ETL将保持在蜂巢状态。
在任何情况下,加载/ ETL时间都不是面向用户的,而分析/查询确实具有延迟关键特性。