hadoop - 插入到配置单元分区表中 SemanticException

标签 hadoop hive

首先我创建了一个 Hive 分区表:

hive> create table partition_table
    > (sid int ,sname string ,age int)            
    > partitioned by (sex string)     
    > row format delimited fields terminated by',';  
OK
Time taken: 1.232 seconds

表格描述如下:

 hive> desc partition_table;
    OK
    sid                     int                                         
    sname                   string                                      
    age                     int                                         
    sex                     string                                      

# Partition Information      
# col_name              data_type               comment             

sex                     string                                      
Time taken: 0.34 seconds, Fetched: 9 row(s)

然后我将一些数据插入到该表中,但它不起作用。

hive> insert into table partition_table partition(sex='M')select sno ,sname ,age from student1 where sex ='M';
FAILED: SemanticException [Error 10006]: Line 1:44 Partition not found ''M''

为了避免这种情况,我编写了以下命令,然后执行了我的插入命令,即使这样我也反复遇到同样的错误。

set exec.dynamic.partition=true;                                                                           
set exec.dynamic.partition.mode=nonstrict;

最佳答案

加载前添加分区:

ALTER TABLE partition_table ADD PARTITION( sex= 'M' );
insert into table partition_table partition(sex='M') select sno ,sname ,age from student1 where sex ='M';

或尝试动态分区:

set hive.exec.dynamic.partition=true;
INSERT OVERWRITE TABLE partition_table PARTITION (sex)
SELECT sid, sname, age, sex
FROM student1;

关于hadoop - 插入到配置单元分区表中 SemanticException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45357281/

相关文章:

linux - 如何在我的系统上找到 Hadoop hdfs 目录?

java - ApacheSpark从http来源(例如csv等)读取数据帧

hadoop - 如何以编程方式从插件本身内部访问 Gradle 插件依赖项?

hadoop - Hive 中的范围分区

hadoop - 当配置单元从HDFS将文件加载到表中时,如何阻止配置单元移动数据?

hadoop - Oozie:oozie 是否生成输出事件?

Hadoop - 获取数据的最有效方式

HIVE:如何在横向 View 爆炸中包含空行

hadoop - HiveQL 查询没有返回结果,也没有错误

sql - 为什么 HIVE 必须用 "\01"拆分字符串? [b4 0.11.0 是的,0.11.0之后可以指定]