用户工具


hive中的分区表和oracle中的分区表类似。都是为了避免全表扫描

创建分区表

查看分区表的效果

我们对countory(国家)state(州)做了分区,那我查询指定分区的时候,应该会避免全表扫描吧。那怎么验证呢?我们可以用explain extended select … 查看执行计划。看分区是否真的发挥了作用。

一般使用分区时的执行计划比较长!哈哈

外部分区表

创建外部分区表

  • create external table ttt (id int) partitioned by(name string,age int) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',';

导入数据

  • alter table ttt add partition(name='aaa',age=1111) location 'hdfs://mycluster/hive_input';

外部分区表不会在hdfs中生成数据文件,外部表只依赖外部文件

partion的终极解释,partion的字段不属于表结构的内容,他根本不存在表结构中,它的存在只是分区用,hdfs文件目录下会有以他为名字的目录!

hive也有视图的概念,和oracle一样