Hive中相关核心概念与定义

9 篇文章 0 订阅
本文介绍了 Apache Hive 的基本概念,包括其作为数据仓库的特点、如何处理大型数据集、与传统数据库的区别,以及 Hive 的核心组件如表、分区、分桶等。同时探讨了 Hive 如何与 Hadoop 生态系统中的 MapReduce 结合使用。
摘要由CSDN通过智能技术生成

 

1.什么是Hive?

             Apache Hive 数据仓库软件便于读,写,和管理大型数据集驻留在分布式存储(Hadoop)使用SQL。
            结构可以投影到存储中的数据上。
            客户端的连接方式可采用:command line 和 JDBC Driver
     
            注意:Hive实质就是客户端,不存在主从结构,搭建过程没有集群概念;

2.数据仓库和数据库

          关系型数据库:OLTP联机事务处理:ACID,实时处理。
          数据仓库:OLAP联机分析处理:统计、处理和加工(分析操作),离线处理大数据集

3.Hive的几个概念

  •   hive是数据仓库,在Hadoop基础上处理结构化数据;它驻留在hadoop之上,用户对数据的统计、查询和简单的分析操作;
  •   表模型存储在database(关系型)中,处理的数据存储在HDFS上;
  •   元数据 :hive选择独立的的数据库(MySQL)用于存储metadata,元数据包含:表的信息、databases信息、表的列信息、字段类型                      信 息和HDFS mapping(映射);
  •   hive不是: 
            a.关系型数据库;
            b.OLTP
            c.实时查询和行级更新操作
  • 存储格式多种,可支持Text,SequenceFile,ParquetFile,RCFILE等;
  • 只需要在创建表的时候告诉 Hive 数据中的列分隔符和行分隔符,Hive 就可以解析数据;
  • Hive 中包含以下数据模型:DB--数据库、Table--表,External Table--外部表,Partition--分区,Bucket分桶;
  • .db:是创建数据库的后缀,是HDFS在${hive.metastore.warehouse.dir}路径下的一个子目录;
  • tables:是hdfs下的.db目录下的一个文件夹;
  • external table:与table类似,不过其数据存放位置可以在任意指定路径
  • 管理表:删除表后,都删除元数据和数据;
  • 外部表:删除表后,只删除元年数据,不删除HDFS下的数据;
  •  partition--分区:在hdfs中表现为table目录下的子目录;
  • bucket:在hdfs中表现为同一个表目录下根据hash散列之后的多个文件
  •  hive分桶操作的效果:

             把一个文件按照某个特定的字段和桶数 散列成多个文件

         

4.Hive和MapReduce

  • Hive利用HDFS存储数据,利用MapReduce查询数据

5.总结:Hive的定义

  • 基于 Hadoop 的一个数据仓库工具:
  • hive本身不提供数据存储功能,使用HDFS做数据存储,
  • hive也不分布式计算框架,hive的核心工作就是把sql语句翻译成MR程序
  • hive也不提供资源调度系统,也是默认由Hadoop当中YARN集群来调度
  • 可以将结构化的数据映射为一张数据库表,并提供 HQL(Hive SQL)查询功能

注意区分与HBase的概念!!

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值