[英]One record insert to hive partitioned table
我想向一个配置单元分区表中插入一条记录:
表desc如下所示:
name string None
id string None
work_done string None
# Partition Information
# col_name data_type comment
work_done string None
该表包含少量记录,我想向该表追加新记录。
下面给出的是我编写的用于插入记录的代码。
insert into table work_details_join_part partition (work_done)
select 'sammy', 'sam002', 'Assignment' from dual;
编写完上述命令后,我得到一个错误:
SemanticException [Error 10096]: Dynamic partition strict mode requires at least one static partition column. To turn this off set hive.exec.dynamic.partition.mode=nonstrict
为了避免这种情况,我编写了以下命令,然后执行了我的插入命令,即使这样我也反复遇到相同的错误。
set exec.dynamic.partition=true;
set exec.dynamic.partition.mode=nonstrict;
请指导我。 提前致谢:)
也许只是将其重写为非动态插入,例如:
insert into table work_details_join_part partition (work_done='Assignment')
select 'sammy', 'sam002' from dual;
但是,配置单元对于单个记录插入来说非常糟糕,因此期望性能真的很差。 还要记住,每次运行此查询时,会将1个带有1条记录的单个小文件添加到hdfs中,从而使该目录成为充满小文件的目录(这确实很糟糕)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.