hive join匹配数据类型不一样,底层怎么处理?

底层hive会先进行类型转换,至于转成string,还是int 得看hive的版本,再求hash值。但如果string类型数据过大,超过范围的数据在转换为bigint时,都会变成相同的结果,然后对这些数据求hash,得出的结果就会一样,这样数据会被分配到同一个分区处理,容易产生数据倾斜。

解决办法:将bigint->string

posted @ 2022-06-16 17:32  hulifang  阅读(256)  评论(0编辑  收藏  举报