hive中的分区表和oracle中的分区表类似。都是为了避免全表扫描 ===== 创建分区表 ===== {{:pasted:20150922-171340.png}} {{:pasted:20150922-171632.png}} ===== 查看分区表的效果 ===== 我们对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一样