我正在尝试为我的表创建分区以更新值。
这是我的示例数据
1,Anne,Admin,50000,A
2,Gokul,Admin,50000,B
3,Janet,Sales,60000,A
我想将Janet 的
部门更新为B。
为此,我创建了一个以部门作为分区的表。
create external table trail (EmployeeID Int,FirstName String,Designation String,Salary Int) PARTITIONED BY (Department String) row format delimited fields terminated by "," location '/user/sreeveni/HIVE';
但是在执行上述命令时。 trail 表中没有插入数据。
hive>select * from trail;
OK
Time taken: 0.193 seconds
hive>desc trail;
OK
employeeid int None
firstname string None
designation string None
salary int None
department string None
# Partition Information
# col_name data_type comment
department string None
我做错了什么吗?
更新
按照建议,我尝试将数据插入到我的表中
load data inpath '/user/aibladmin/HIVE' overwrite into table trail Partition(Department);
但是它正在显示
FAILED: 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 hive.exec.dynamic.partition.mode=nonstrict
后也没有正常工作。
还有什么事要做。
最佳答案
尝试以下两个属性
SET hive.exec.dynamic.partition = true;
SET hive.exec.dynamic.partition.mode = nonstrict;
在为分区表编写插入语句时,请确保在 select 子句的最后指定分区列。
关于hadoop - 数据未加载到 Hive 中的分区表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25905989/