FAILED:将数据插入Hive分区表时出现SemanticException org.apache.hadoop.hive.ql.metadata.HiveException

时间:2014-11-12 11:42:06

标签: hadoop mapreduce hive

我有3个部门 A,B,C 的员工数据。 我正在尝试在部门上创建分区表。 我使用下面的命令创建了表。

  

创建外部表Parti_Trail(EmployeeID Int,FirstName   字符串,指定字符串,工资Int)分区(部门   字符串)行格式分隔的字段以“,”位置终止   '/用户/ SREE / HiveTrail';

但这确实没有在我的表中加载位置'/ user / sree / HiveTrail'中的数据

所以我试着加载我的表

LOAD DATA INPATH '/user/aibladmin/HiveTrail' OVERWRITE INTO TABLE Parti_SCDTrail PARTITION(department); 

但显示

FAILED: SemanticException org.apache.hadoop.hive.ql.metadata.HiveException: department not found in table's partition spec: {department=null}
  1. 为什么会如此。我做错了吗?
  2. 如果我们SET hive.exec.dynamic.partition.mode = nonstrict;
  3. 会发生什么
  4. 在创建分区表时,我们是否需要将数据分隔在不同的文件夹中,或者是否自动分成不同的分区

1 个答案:

答案 0 :(得分:0)

对于在Hive中具有分区的外部表,您需要运行ALTER语句来更新新分区的Metastore。因为外部表不是由Hive管理的。

选中此link

希望它有所帮助...... !!!