繁体   English   中英

如何在Hive中以原始日期作为分区插入表中?

[英]How can insert into the table with the original day as partition in Hive?

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_qti_desc中,而aaa中的天充当h5_qti_desc分区中的day。

您可以使用Hive动态分区功能来插入数据。 动态分区插入(或多分区插入)旨在通过动态确定在扫描输入表时应创建和填充哪些分区来解决此问题。

以下是使用一个insert语句将数据加载到所有分区的示例:

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM