问题描述

问题描述/异常栈

 `dm_growth`.`user_qiyu_call_out_i_cyy` requires that the data to be inserted have the same number of columns as the target table: target table has 15 column(s) but the inserted data has 16 column(s), including 0 partition column(s) having constant value(s).;

解决方案

set hive.exec.dynamic.partition=true

set hive.exec.dynamic.partition.mode=nonstrict

开启动态分区

问题原因

FAQ-to be inserted have the same number of columns - 图1

查看用户sql,插入动态分区但是没有开启动态分区。故将分区ds字段当成了普通字段。根据报错的 including 0 partition column(s) having constant也能判断,故报错多了一个字段。开启动态分区即可。

作者:刘思伟