Hive是一种基于Hadoop的天然的分布式文件数据库,使用sql来进行文件数据查询的,本质上还是mapreduce的方式通过java来查询数据返回结果
- 内部表删除,元数据和HDFS的数据都会被删除
- 外部表删除,元数据被删除,HDFS不删除
因为Hive是在hdfs,mapreduce的基础上封装的一层工具,维护自身的元数据表和HDFS的数据两层表。
- 推荐使用外部表,内外部表可以相互转换
hdfs管理的是文本文件,数据应该指定分隔符以区分列信息
- insert会修改hdfs,和hive的元数据表
- 使用后hdfs的put方式添加数据hive的元数据不会记录
- 使用hive的load/import/location会修改hdfs,和hive的元数据表
查询的是元数据直接记录的行数,不是去文件里查询
分通分区是对表来说的
- 分区
- 建立的表可以额外指定分区信息,添加数据后根据分区来保存信息,之后查询也可以根据分区来查询
- 分区可有两级
- 分桶
- 分桶是对一个大文件进行切割的