DROP时
内部表:元数据和数据本是都由HIVE自己掌控,内部表被删除后元数据和HDSF上的数据文件都将被删除,一般
外部表:外部表只删除元数据,不删除路径下的文件,重新创建该路径下的表时可以恢复数据
LOAD加载数据时
内部表:会把数据移动到自己指定的路径下
外部表:会把数据移动到自己指定的路径之外
-----------------------------------------------------------------
分区表:根据分区字段的值,对数据进行划分,可以理解为分成不同的文件夹,每个文件夹对应一个分区名
分桶表:分桶是相对分区进行更细粒度的划分。分桶将整个数据内容安装某列属性值得hash值进行区分,如要安装name属性分为3个桶,就是对name属性值的hash值对3取摸,按照取模结果对数据分桶。
建分区表关键语句: create table tablename(字段 类型) partitioned by(job string) ..........
往分区表导入数据
加载方式:load data local inpath '/home/hadoop/student.txt' into table ptn_student1 partition(job='导购员');
根据查询插入方式:insert overwrite table users select * from mvusers where jobname='导购员'
查看某个分区的数据
select * from users where job='导购员'
查看分区信息
show partitions job;
分桶表
第一 分桶之前要执行命令hive.enforce.bucketiong=true;
建分桶表关键语句: create table tablename(字段 类型) clustered by(sex) into 3 buckets
查看桶数据:tablesample(bucket 1 out of 2 on sex) 第一位数 第几桶 第二位 一共多少桶