cdh5.10quickvm中的hive分区和bucketing问题

iklwldmw  于 2021-05-29  发布在  Hadoop
关注(0)|答案(0)|浏览(237)

我对这个领域还不熟悉,遇到了一个简单的问题。
我正在将数据加载到一个配置单元表中(使用另一个表tset1中的insert命令),该表按udate和day作为bucket进行分区。

insert overwrite test1 partition(udate) select id,value,udate,day from tset1;

所以现在的问题是,当我加载数据时,分区列中的值取错了。day作为分区,因为在我的表中,这是最后一列,所以在数据加载期间,它将day作为udate。
如何在数据加载期间强制查询采用正确的值?

hive (testdb)> create table test1_buk(id int, value string,day int) partitioned by(udate string) clustered by(day) into 5 buckets row format delimited fields terminated by ',' stored as textfile;

hive (testdb)> desc tset1;
OK
col_name    data_type   comment
id                      int                                         
value                   string                                      
udate                   string                                      
day                     int 

hive (testdb)> desc test1_buk;
OK
col_name    data_type   comment
id                      int                                         
value                   string                                      
day                     int                                         
udate                   string                                      

# Partition Information

# col_name              data_type               comment

udate                   string 

hive (testdb)> select * from test1_buk limit 1;
OK
test1_buk.id    test1_buk.value test1_buk.day   test1_buk.udate
5   w   2000    10

请帮忙。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题