博主自主知识产权《springboot深入浅出系列课程》(16章97节文档) 已经上线,请关注

Hive简介

Hive 字母哥 0评论

设计目的:让有SQL技能,但无hadoop知识的人来查询分析大数据。
1. 基于hadoop的数据仓库工具,
2. Hive中的一张表对应的是HDFS的一个目录。
3. 支持一种与SQL几乎完全相同的语言HiveQL,除了不支持更新,索引和事务控制。
4. SQL到MapReduce的映射器。
5. 提供shell,JDBC/ODBC,Thrift,web接口


hive的数据存储概念

  • hive没有专门的数据存储格式,也没有索引,只有按文件目录方式组织的表,目录文件只需要确定列分隔符和行分隔符,Hive就可以解析数据为一个“表”。

Hive中数据按目录结构依次分为:

Table(External Table也就是非hive目录下的Table),Partition,Bucket。

  • Table:对应一个相应的目录存储数据。例如,一个表 t1,它在HDFS中的路径就为:/warehouse/t1.而External Table不在/warehouse目录下面。
  • Partition: 一个 Partition(分区)对应于表下的一个目录,例如:t1表中的c1,c2分区,则对应于 c1=1,c2=2的目录为:/warehouse/t1/c1=1/c2=2;对应于 ds = 20090801, ctry = CA 的 HDFS 子目录为;/wh/pvs/ds=20090801/ctry=CA。
  • Buckets:对应一个文件。如:t1表中的c3列,将t3列分散至多个bucket,首先对t3列的值计算hash,对应hash值为0的文件为:/warehouse/t1/c1=1/c2=2/part-0000
喜欢 (0)or分享 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址