5

我打算使用hadoop和hive来解决以下问题:

我有一个数据流,例如表示在给定时间戳处测量的温度的形式(时间戳,温度)。我需要每天计算一些聚合(例如最大值)。聚合需要每天计算一次(例如在午夜)。

我想以某种方式将数据加载到蜂巢中,按日期对其进行分区。但是,有一个问题 - 流中的数据不需要按时间戳排序,我收到延迟的记录:一条记录​​可能比它应该晚几天到达。在这种情况下,在生成通常的聚合时,我还需要计算包含该时间戳的当天的聚合。

直观地说,我想将后期记录添加到配置单元表中的相应分区。是否可以在不重新加载整个分区的情况下执行此操作?(重新加载分区是一项昂贵的操作吗?)

4

1 回答 1

2

我不相信目前可以将记录添加到分区(或表,就此而言),因此您必须在将分区加载到表之前对记录进行排序 - 看起来像一个两个阶段过程给我。

但是,我相信您可以覆盖分区,因此至少您可以处理修改后的分区。

目前,至少,hive 是一个面向批处理的系统。

于 2012-10-28T10:25:43.053 回答