【问题标题】:Hive: adding rows to existing tableHive:向现有表添加行
【发布时间】:2012-10-13 20:12:06
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: hadoop hive


    【解决方案1】:

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

    但是我相信你可以覆盖一个分区,所以至少你可以处理修改后的分区。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-10-27
      • 2019-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多