我尝试创建基于两列的动态分区,并从hdfs位置中的文件加载数据。但是,当从暂存表将数据加载到动态分区表中时,分区中的第二列显示为null。有人能帮忙吗。
暂存表定义
create external table staging_table (COL1 double,COL2 string,COL3 double,COL4 bigint,COL5 bigint,COL6 bigint) location 'hdfs://DIRECTORY_PATH_TO_DATA';
启用动态分区
set hive.exec.dynamic.partition.mode=nonstrict;
set hive.exec.dynamic.partition=true;
set hive.exec.max.dynamic.partitions=1000;
set hive.exec.max.dynamic.partitions.pernode=1000;
CREATE EXTERNAL TABLE final_table(COL1 STRING,COL2 BIGINT,COL3 BIGINT,COL4 BIGINT) PARTITIONED BY (COL5 BIGINT,COL6 BIGINT) STORED AS PARQUET LOCATION 'hdfs://HDFS_PATH';
insert into tagger_table_final1 PARTITION(COL5,COL6) SELECT COL1,COL2,COL3,COL4,COL5,COL6 FROM staging_table;
在这里,col5值被正确地插入到staging表的最终表中,但是col6显示为null。有人能帮忙吗。
暂无答案!
目前还没有任何答案,快来回答吧!