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

dynamic partitions creation based on values

    XMLWordPrintableJSON

Details

    • Task
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 0.7.0
    • Query Processor
    • 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

        1. dp_design.txt
          6 kB
          Ning Zhang

        Issue Links

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved: