首页 > 其他分享 >hive架构原理

hive架构原理

时间:2023-02-01 10:02:44浏览次数:29  
标签:架构 AST 用户 Hive hive SQL 原理 执行



Hive架构原理


1)用户接口:Client

CLI(command-line
interface)、JDBC/ODBC(jdbc访问hive)、WEBUI(浏览器访问hive)

2)元数据:Metastore

元数据包括:表名、表所属的数据库(默认是default)、表的拥有者、列/分区字段、表的类型(是否是外部表)、表的数据所在目录等;

默认存储在自带的derby数据库中,推荐使用MySQL存储Metastore

3)Hadoop

使用HDFS进行存储,使用MapReduce进行计算。

4)驱动器:Driver

(1)解析器(SQL Parser):将SQL字符串转换成抽象语法树AST,这一步一般都用第三方工具库完成,比如antlr;对AST进行语法分析,比如表是否存在、字段是否存在、SQL语义是否有误。

(2)编译器(Physical
Plan):将AST编译生成逻辑执行计划。

(3)优化器(Query
Optimizer):对逻辑执行计划进行优化。

(4)执行器(Execution):把逻辑执行计划转换成可以运行的物理计划。对于Hive来说,就是MR/Spark。

hive架构原理_SQL

hive架构原理_元数据_02

Hive通过给用户提供的一系列交互接口,接收到用户的指令(SQL),使用自己的Driver,结合元数据(MetaStore),将这些指令翻译成MapReduce,提交到Hadoop中执行,最后,将执行返回的结果输出到用户交互接口。


标签:架构,AST,用户,Hive,hive,SQL,原理,执行
From: https://blog.51cto.com/u_14389461/6030682

相关文章

  • hive类型转化
    hive类型转化Hive的原子数据类型是可以进行隐式转换的,类似于Java的类型转换,例如某表达式使用INT类型,TINYINT会自动转换为INT类型,但是Hive不会进行反向转化,例如,某表达式使用T......
  • 架构
    经历过“必要时,码不亮”后,聊聊运维必须了解的高并发知识......
  • 【Javaweb】JavaEE项目的三层架构 | 快速搭建
    逻辑类图  分层的目的是为了解耦。解耦就是为了降低代码的耦合度。方便项目后期的维护和升级。不同的层有不同的包web层com.stguigu.web/servlet/con......
  • 中断ISR技术架构
    架构一ISR采用立即响应思路,技术架构如下图: 优点:简单。缺点:处理性能不高,中断优先级规划性不高(仅仅区分CPU的32个优先级别,针对不同类型中断优先级不支持)。选型:对于......
  • 【Zookeeper】(一)概述与内部原理
    Zookeeper概述1概述Zookeeper是一个开源的、分布式的,为分布式应用提供协调服务的Apache项目。Zookeeper从设计模式的角度来看,是一个基于观察者模式设计的分布式服......
  • 《RPC实战与核心原理》学习笔记Day14
    19|分布式环境下如何快速定位问题?分布式环境下定位问题有什么难点?分布式环境下定位问题的难点在于,各子应用、子服务之间有复杂的依赖关系,我们有时很难确定是哪个服务......
  • 大型互联网公司微服务架构总图
    这张图是我写文章做笔记用的概念图。大家要用的话截图下面就可以啦,画起来也不麻烦,重点是里面的内容。......
  • 70、缓存---分布式锁---分布式锁的原理及使用
    阶段一代码如下:privateMap<String,List<CatelogTwoLevelVo>>getCatalogJsonFromDb(){//得到锁之后,去缓存中再确定一次是否有数据Stringcatalog......
  • RabbitMQ基本原理及模式介绍
    一、RabbitMQ概念RabbitMQ:是一个由erlang开发的AMQP(AdvancedMessageQueue高级消息队列协议)的开源实现,由于erlang语言的高并发特性,性能较好,本质是个队列,FIFO先入先......
  • Dubbo 中 Zookeeper 注册中心原理分析
    Dubbo中Zookeeper注册中心原理分析https://mp.weixin.qq.com/s/XbLxxmqoxVkYS_eDM4cauA本文通过分析Dubbo中ZooKeeper注册中心的实现ZooKeeperResitry的继承体系结构,......