桶表基础概念

转载:https://blog.csdn.net/u010003835/article/details/80911215

https://blog.csdn.net/Samaritan_H/article/details/79090103

桶(SMB)

物理上,每个桶就是表(或分区)目录里的一个文件。
smb的设计是为了解决大表和大表之间的join的。简单的说下她的思想:大表化成小表,map side join 解决。经典的分而治之的思想。

对一个表或者一个分区,可以将其划分为更细的数据块,桶。在hive中,分桶的方式采取的是:对列的值进行hash除以桶的数量取余 ;

为什么要对数据进行分桶:

    桶给表加上了额外的结构,在进行某些查询的时候可以利用这个结构进行高效的查询;例如: 对于两个数据表,某两列都做了桶划分,可以使用map端的join高效的完成join(桶和桶之间的join,大大减少了join的次数)。
    对于数据取样更加高效

posted on 2021-07-22 21:48  大鹏的鸿鹄之志  阅读(166)  评论(0编辑  收藏  举报