如何将原始日期作为配置单元中的分区插入到表中?

0sgqnhkj  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(331)
create  table h5_qti_desc
( h5id string,
  query string,
  title string,
  item string,
  query_ids string,
  title_ids string,
  item_ids string,
  label bigint
)PARTITIONED BY (day string)  LIFECYCLE 160;

insert overwrite into h5_qti_desc
select * from aaa
;

我创建了一个名为h5_qti_desc的表,我想从另一个aaa表插入它,这个表有day字段,aaa中没有分区。表aaa有几天,如“20171010”、“20171015”。。。
如何将day作为分区一次插入h5\u qti\u desc,aaa中的day作为h5\u qti\u desc分区中的day。

jfgube3f

jfgube3f1#

可以使用配置单元动态分区功能插入数据。动态分区插入(或多分区插入)旨在通过在扫描输入表时动态确定应创建和填充哪些分区来解决此问题。
下面是使用一个insert语句将数据加载到所有分区的示例:

hive>set hive.exec.dynamic.partition.mode=nonstrict;

hive>INSERT OVERWRITE TABLE h5_qti_desc PARTITION(day)
             SELECT * FROM aaa
             DISTRIBUTE day;

相关问题