Dynamic Partitioning + CREATE AS on HIVE Dynamic Partitioning + CREATE AS on HIVE hadoop hadoop

Dynamic Partitioning + CREATE AS on HIVE


Since you already know the full schema of the target table, try creating it first and the populating it with a LOAD DATA command:

SET hive.exec.dynamic.partition.mode=nonstrict;CREATE TABLE T (key int, value string) PARTITIONED BY (ds string, hr int);INSERT OVERWRITE TABLE T PARTITION(ds, hr) SELECT key, value, ds, hr+1 AS hr    FROM srcpart    WHERE ds is not null    And hr>10;

Note: the set command is needed since you are performing a full dynamic partition insert.


SET hive.exec.dynamic.partition.mode=nonstrict;CREATE TABLE T (key int, value string) PARTITIONED BY (ds string, hr int);INSERT OVERWRITE TABLE T PARTITION(ds, hr) SELECT key, value, ds, hr+1 AS hr FROM srcpart WHERE ds is not null       And hr>10;

In the above code, instead of the Create statement use: CREATE TABLE T like srcpart;

In case the partitioning is similar.