我打算用hadoop和hive来解决以下问题:
我有一个数据流,比如表示给定时间戳的测量温度的形式(时间戳,温度).我需要每天计算一些聚合(例如最大值).聚合需要每天计算一次(例如在午夜).
我想到以某种方式加载数据到hive,按日期划分它.但是,有一个问题 - 流中的数据不需要按时间戳排序,我收到延迟记录:记录甚至可能比它应该晚几天到达.在这种情况下,在生成常用聚合时,我还需要计算包含该时间戳的日期的聚合.
直觉上,我想将后期记录添加到配置单元表中的相应分区.是否可以在不重新加载整个分区的情况下执行此操作?(重新加载分区是一项代价高昂的操作吗?)
我认为目前不可能将记录添加到分区(或表),因此您必须在将分区加载到表之前对记录进行排序 - 看起来像两个阶段流程给我。
不过,我相信您可以覆盖分区,因此至少您可以处理修改后的分区。
至少目前,Hive 是一个面向批处理的系统。