失败:SemanticException org.apache.hadoop.hive.ql.metadata.HiveException在向配置单元分区表插入数据时失败

失败:SemanticException org.apache.hadoop.hive.ql.metadata.HiveException在向配置单元分区表插入数据时失败,hadoop,mapreduce,hive,Hadoop,Mapreduce,Hive,我有三个部门A、B、C的员工数据。 我正在尝试在部门上创建分区表。 我使用下面的命令创建了表 创建外部表Parti_Trail(EmployeeID Int,FirstName 字符串,指定字符串,工资整数)由(部门)分区 字符串)以“,”位置结尾的行格式分隔字段 “/user/sree/HiveTrail” 但这并没有在“/user/sree/HiveTrail”位置加载我的表中的数据 所以我试着装我的桌子 LOAD DATA INPATH '/user/aibladmin/HiveTrail

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

创建外部表Parti_Trail(EmployeeID Int,FirstName 字符串,指定字符串,工资整数)由(部门)分区 字符串)以“,”位置结尾的行格式分隔字段 “/user/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}
  • 为什么会这样。我做错什么了吗
  • 如果我们
    设置hive.exec.dynamic.partition.mode=nonstrict,会发生什么
  • 在创建分区表时,我们是否需要将数据分隔在不同的文件夹中,或者它是否自动分隔到不同的分区中

  • 对于配置单元中具有分区的外部表,需要运行ALTER语句来更新新分区的元存储。因为外部表不是由配置单元管理的

    检查这个


    希望对你有帮助

    我们应该将数据分离到单独的文件中并加载它们吗?1)将数据加载到路径“”中。。。2.)是的,对于每个分区,您应该在单独的文件中包含数据,并且在加载时,您需要说明您正在加载数据的分区。这将是一项额外的任务。如果我们需要加载GB文件或其他文件,会发生什么情况。这是一种好方法吗?首先创建一个非分区表,然后查询数据并将其加载到分区表中-无需创建额外的表,只需按照上面链接给出的步骤操作即可。在加载分区表中的数据时,需要提及分区值。就这样。