我有一个包含3个部门的员工数据A、B、C。我正在尝试在部门上创建分区表。我使用以下命令创建了表格。
创建外部表Parti_Trail(EmployeeID Int,FirstName字符串,职务字符串,薪资Int)PARTITIONBY(部门字符串)行格式分隔的字段,以","位置终止'/user/sre/HiveTrail';
但这并没有在我的表中加载位置为"/user/sre/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}
- 为什么会这样。我做错什么了吗
- 如果我们
SET hive.exec.dynamic.partition.mode = nonstrict;
会发生什么 - 在创建分区表时,我们是否需要将数据分隔在不同的文件夹中,或者是否自动将数据分隔到不同的分区中
对于在配置单元中具有分区的外部表,您需要运行ALTER语句来为新分区更新Metastore。因为外部表不是由配置单元管理的。
检查此链接
希望它能帮助。。。!!!