Hive中的动态分区

时间:2012-07-23 23:35:36

标签: mapreduce hive

我是新手。 我的输入文件是表单 (ID,日期(YYYY-MM-DD),小时(HH),键,值)。表格被分区(日期,小时) 输入文件包含七天的数据(每天24小时)。当我将这些数据加载到hive表中时,我需要将数据加载到表的各个分区中。 有人可以帮帮我。

谢谢, Sudhakar。

1 个答案:

答案 0 :(得分:4)

一种方法是首先将数据加载到未分区的表中(例如下面示例中的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

分区必须是select子句中的最后一列。以上是关于hive 0.7.1的工作。有关详细信息,请参阅the wiki。请注意,如果您有too many partitions you'll get errors