Uploaded image for project: 'Hive'
  1. Hive
  2. HIVE-936

dynamic partitions creation based on values

    Details

    • Type: Task
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 0.7.0
    • Component/s: Query Processor
    • Labels:
      None

      Description

      If a Hive table is created as partitioned, DML could only inserted into one partitioin per query. Ideally partitions should be created on the fly based on the value of the partition columns. As an example:
      {{{
      create table T (a int, b string) partitioned by (ds string);
      insert overwrite table T select a, b, ds from S where ds >= '2009-11-01' and ds <= '2009-11-16';
      }}}
      should be able to execute in one DML rather than possibley 16 DML for each distinct ds values. CTAS and alter table should be able to do the same thing:
      {{{
      create table T partitioned by (ds string) as select * from S where ds >= '2009-11-01' and ds <= '2009-11-16';
      }}}
      and
      {{{
      create table T(a int, b string, ds string);
      insert overwrite table T select * from S where ds >= '2009-11-1' and ds <= '2009-11-16';
      alter table T partitioned by (ds);
      }}}
      should all return the same results.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                nzhang Ning Zhang
                Reporter:
                nzhang Ning Zhang
              • Votes:
                8 Vote for this issue
                Watchers:
                14 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: