Hive 配置单元分区表-尝试将数据从一个表加载到配置单元中的分区表,并获取[错误10044]*

Hive 配置单元分区表-尝试将数据从一个表加载到配置单元中的分区表,并获取[错误10044]*,hive,hiveql,parquet,hadoop2,hive-partitions,Hive,Hiveql,Parquet,Hadoop2,Hive Partitions,因此,我有一个20列的表,我创建了另一个分区表-使用2个分区值,现在当我尝试将20列的表中的数据加载到其他分区表中时,我得到一个错误,即分区表中的列比插入数据的表中的列多 我的CREATETABLE语句: create table flight_data_parquet( YEAR INT, FL_DATE STRING, UNIQUE_CARRIER STRING, AIRLINE_ID INT, CARRIER STRING, TAIL_NUM STRING,

因此,我有一个20列的表,我创建了另一个分区表-使用2个分区值,现在当我尝试将20列的表中的数据加载到其他分区表中时,我得到一个错误,即分区表中的列比插入数据的表中的列多

我的CREATETABLE语句:

  create table flight_data_parquet(
  YEAR INT,
  FL_DATE STRING,
  UNIQUE_CARRIER STRING,
  AIRLINE_ID INT,
  CARRIER STRING,
  TAIL_NUM STRING,
  FL_NUM INT,
  ORIGIN_AIRPORT_ID INT,
  ORIGIN_AIRPORT_SEQ_ID INT,
  ORIGIN STRING,
  DEST_AIRPORT_ID INT,
  DEST_AIRPORT_SEQ_ID INT,
  DEST STRING,
  DEP_DELAY FLOAT,
  ARR_DELAY FLOAT,
  CANCELLED TINYINT,
  DIVERTED TINYINT,
  DISTANCE INT)
partitioned by (Month INT, DAY_OF_MONTH INT)stored AS PARQUET;
-插入语句

insert into table flight_data_parquet partition(month=1, day_of_month) 
select  YEAR,FL_DATE,
  UNIQUE_CARRIER,
  AIRLINE_ID,
  CARRIER,
  TAIL_NUM,
  FL_NUM,
  ORIGIN_AIRPORT_ID,
  ORIGIN_AIRPORT_SEQ_ID,
  ORIGIN,
  DEST_AIRPORT_ID,
  DEST_AIRPORT_SEQ_ID,
  DEST,
  DEP_DELAY,
  ARR_DELAY,
  CANCELLED,
  DIVERTED,
  DISTANCE, month, day_of_month
from flight_data_v2 where month=1;
我得到的错误是-

FAILED: SemanticException [Error 10044]: Line 1:18 Cannot insert into target table because column number/types are different 'day_of_month': Table insclause-0 has 19 columns, but query has 20 columns.
hive (flights)> 

分区规范分区中的
month=1
month=1,每月的第天)-是一个静态分区,并且已经指定了值,请从选择查询中删除
month
。只有
月中的日(动态分区)应在选择中:

insert into table flight_data_parquet partition(month=1, day_of_month)  -- Month=1 is a static partition 
select  YEAR,FL_DATE,
  UNIQUE_CARRIER,
  AIRLINE_ID,
  CARRIER,
  TAIL_NUM,
  FL_NUM,
  ORIGIN_AIRPORT_ID,
  ORIGIN_AIRPORT_SEQ_ID,
  ORIGIN,
  DEST_AIRPORT_ID,
  DEST_AIRPORT_SEQ_ID,
  DEST,
  DEP_DELAY,
  ARR_DELAY,
  CANCELLED,
  DIVERTED,
  DISTANCE, day_of_month
from flight_data_v2 where month=1;