【问题标题】:Dynamic partitioning in HiveHive 中的动态分区
【发布时间】:2012-07-23 23:35:35
【问题描述】:

我是蜂巢新手。 我的输入文件的形式是 (ID,日期(YYYY-MM-DD),小时(HH),键,值)。表在(日期,小时)分区 输入文件包含 7 天(每天 24 小时)的数据。当我将此数据加载到配置单元表中时,我需要将数据加载到表的各个分区中。 有没有人可以帮帮我。

谢谢, 苏达卡。

【问题讨论】:

  • 您尝试过 Map/Reduce 作业吗?

标签: mapreduce hive


【解决方案1】:

一种方法是首先将数据加载到未分区的表中(例如下面示例中的 tmp_some_table)。然后您可以执行以下操作:

  set hive.exec.dynamic.partition=true;
  set hive.exec.dynamic.partition.mode=nonstrict;
  from tmp_some_table tt
  insert overwrite table some_table partition(day, hour)
  select
    id,
    key,
    value, 
    day,
    hour

分区必须是您的选择子句中的最后一列。以上适用于 hive 0.7.1。请参阅the wiki 了解更多信息。请注意,如果您有too many partitions you'll get errors

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-11-18
    • 2013-07-26
    • 2023-04-04
    • 2011-11-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多