【赵渝强老师】Hive的体系架构

在这里插入图片描述
  在Hadoop体系中提供数据分析引擎Hive。它允许使用SQL语句来分析处理数据,而不需要编程复杂的Java程序。同时Hive提供了丰富的数据模型来创建各种表结构,帮助数据分析人员建立数据模型。视频讲解如下:

Hive的体系架构

【赵渝强老师】Hive的体系架构

  Hive是基于Hadoop之上的数据仓库平台,提供了数据仓库的相关功能。Hive最早起源于FaceBook,2008年FaceBook将Hive贡献给了Apache,成为了Hadoop体系中的一个组成部分。Hive支持的语言是HQL语言,即:Hive Query Language,它是SQL语言的一个子集。随着Hive版本的提高,HQL语言支持的SQL语法也会越来越多。从另一个方面来看,可以把Hive理解为一个翻译器,默认的行为是Hive on MapReduce,也是在Hive中执行的HQL语句会被转换成一个MapReduce任务运行在Yarn之上,从而处理HDFS中的数据。下表对比的它们之间的对应关系。
在这里插入图片描述
  Hive的底层主要依赖于HDFS和Yarn。Hive将数据存入HDFS中,并将执行的SQL语句转换成MapReduce运行在Yarn上。下图说明了Hive的体系架构。
在这里插入图片描述
  Hive的核心是其执行引擎Hive Driver,可以把它理解成是一个翻译器。通过Hive Driver可以把SQL语句转换成MapReduce处理HDFS中的数据。由于Hive需要将数据模型的元信息保存下来,因此Hive需要一个关系型数据库的支持,官方推荐使用MySQL来存储Hive的元信息。

元信息指的是:表名、列名、列的类型、分区、桶的信息等等。通过配置JDBC相关参数,在创建表的同时由Hive Driver将元信息存入MySQL中。

  Hive提供了三种不同的方式来执行SQL:

  • Hive CLI命令行方式

  CLI是Command Line Interface的缩写,它是Hive的命令行客户端。Hive CLI的使用方式基本上与MySQL的命令行客户端一样,开发人员可以直接在命令行中书写SQL语句。

  • 通过JDBC方式

  Hive可以被当成一个关系型数据库来使用。因此可以使用标准的JDBC程序来访问Hive,从而执行SQL语句。但是开发JDBC程序需要有数据库服务器的支持,因此Hive提供了HiveServer2。通过这个Server,JDBC程序可以将SQL最终提交给Hive Driver执行。

默认配置下HiveServer2的端口是10000,而Hive数据库的名称是default。

  • 使用Hive Web Interface

  Hive提供基于Web的客户端来执行SQL。但是从Hive 2.3版本开始,Hive Web Interface就被废弃了,原因是它所提供的功能太过于简单。如果要使用Web客户端,建议使用HUE。

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

赵渝强老师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值