一个记录插入到hive分区表

时间:2014-02-25 06:46:52

标签: hadoop hive

我想将一条记录插入到hive分区表中:

表格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;

请指导我。在此先感谢:)

1 个答案:

答案 0 :(得分:1)

或许只是将其重写为非动态插入,如:

insert into table work_details_join_part partition (work_done='Assignment') 
select 'sammy', 'sam002' from dual;

然而,对于单个记录插入,蜂巢非常糟糕,所以期望性能非常糟糕。另外请记住每次运行此查询时,1个带有1条记录的小文件将被添加到hdfs,使这个目录充满了小文件(这真的很糟糕)。

相关问题