分区表
分区表的字段在hdfs上的效果就是在建立表的文件夹下面又创建了子文件,这样的目的把数据的划分更加细致 减少了查询时候全表扫描成本 只需要按照指定的分区扫描数据并显示结果即可。
分桶表将数据按照指定的字段进行分成多个桶中去,说白了就是将数据按照字段进行划分,可以将数据按照字段划分到多个文件当中去。
只需要把join 的字段在各自表当中进行分桶操作即可。
Hive将表划分为分区(partition)表和分桶(bucket)表。
1、分区可以让数据的部分查询变得更快,也就是说,在加载数据的时候可以指定加载某一部分数据,并不是全量的数据。
2、分桶表通常是在原始数据中加入一些额外的结构,这些结构可以用于高效的查询。
3、分区在HDFS上的表现形式是一个目录, 分桶是一个单独的文件
4、分区: 细化数据管理,直接读对应目录,缩小mapreduce程序要扫描的数据量
5、分区:
提高查询效率
要求是:分区字段绝对不能出现在表已有的字段内。
6、分桶:
提高join查询的效率
提高采样的效率。
要求是:分桶字段必须出现在表已有的字段内。