繁体   English   中英

一条记录插入到配置单元分区表

[英]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.

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