Hive详解

[复制链接]
发表于 2025-12-29 20:18:46 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
1 Hive根本概念

Hive是一个构建在Hadoop上的数据堆栈框架。最初,Hive是由Facebook开发,厥后移交由Apache软件基金会开发,并作为一个Apache开源项目。
Hive是基于Hadoop的一个数据堆栈工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能。
其本质是将SQL转换为MapReduce的使命举行运算,底层由HDFS来提供数据的存储,说白了hive可以明确为一个将SQL转换为MapReduce的使命的工具,乃至更进一步可以说hive就是一个MapReduce的客户端。


2 Hive的特点与架构图


      
  • Hive最大的特点是通过类SQL来分析大数据,而制止了写MapReduce步调来分析数据,如许使得分析数据更容易。  
  • 数据是存储在HDFS上的,Hive自己并不提供数据的存储功能,它可以使已经存储的数据结构化。  
  • Hive是将数据映射成数据库和一张张的表,库和表的元数据信息一样平常存在关系型数据库上(比如MySQL)。  
  • 数据存储方面:它可以或许存储很大的数据集,可以直接访问存储在Apache HDFS或其他数据存储体系(如Apache HBase)中的文件。  
  • 数据处置惩罚方面:由于Hive语句终极会天生MapReduce使命去盘算,以是不实用于实时盘算的场景,它实用于离线分析。  
  • Hive除了支持MapReduce盘算引擎,还支持Spark和Tez这两种分布式盘算引擎;  
  • 数据的存储格式有多种,比如数据源是二进制格式,平常文本格式等等;  
  • hive具有sql数据库的外表,但应用场景完全差异,hive只恰当用来做批量数据统计分析


3 Hive的安装方式

hive的安装一共有三种方式:内嵌模式、当地模式、远程模式
元数据服务(metastore)作用是:客户端毗连metastore服务,metastore再去毗连MySQL数据库来存取元数据。有了metastore服务,就可以有多个客户端同时毗连,而且这些客户端不须要知道MySQL数据库的用户名和暗码,只须要毗连metastore 服务即可。
  (1) 内嵌模式
  内嵌模式利用的是内嵌的Derby数据库来存储元数据,也不须要额外起Metastore服务。数据库和Metastore服务都嵌入在主Hive Server进程中。这个是默认的,设置简朴,但是一次只能一个客户端毗连,实用于用来实验,不实用于生产环境。解压hive安装包  bin/hive 启动即可利用
  缺点:差异路径启动hive,每一个hive拥有一套自己的元数据,无法共享。


  (2)当地模式
  当地模式接纳外部数据库来存储元数据,现在支持的数据库有:MySQL、Postgres、Oracle、MS SQL Server.在这里我们利用MySQL。当地模式不须要单独起metastore服务,用的是跟hive在同一个进程里的metastore服务。也就是说当你启动一个hive 服务,内里默认会帮我们启动一个metastore服务。hive根据hive.metastore.uris 参数值来判断,如果为空,则为当地模式。
  缺点:每启动一次hive服务,都内置启动了一个metastore。


回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表