前言

本文隶属于专栏《1000个问题搞定大数据技术体系》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢!

本专栏目录结构和参考文献请见1000个问题搞定大数据技术体系

正文

Hive是底层封装了 Hadoop 的数据仓库处理工具,它运行在 Hadoop基础上,其系统架构组成主要包含4个部分,分别是用户接口、跨语言服务、底层的驱动引擎以及元数据存储系统。

下面针对 Hive 系统架构的组成部分进行讲解。

1. 用户接口

主要分为 3 个,分别是 CLI 、 JDBC / ODBC 和 WebUI 。

其中, CLI 即 Shell 终端命令行,它是最常用的方式。

JDBC / ODBC 是 Hive 的 Java 实现,与使用传统数据库 JDBC 的方式类似, WebUI 指的是通过测览器访问 Hive 。

2. 跨语言服务( Thrift Server )

Thrift 是 Facebook 开发的一个软件框架,可以用来进行可扩展且跨语言的服务。

Hive 集成了该服务,能让不同的编程语言调用 Hive 的接口。

关于 Thrift 的更多内容请参考我的这篇博客——Apache Thrift是什么?

3. 底层的驱动引擎(Driver)

主要包含解析器( SQL Parser ),编译器( Compiler ),优化器( Optimizer )和执行器( Executor )

它们用于完成 HQL 查询语句从词法分析、语法分析、编译、优化以及查询计划的生成,生成的查询计划存储在 HDFS 中,并在随后由 MapReduce 调用执行。

Hive 的底层计算引擎可选为:MapReduce,Spark,Tez

4. 元数据存储系统( Metastore )

Hive 中的元数据通常包含表名、列、分区及其相关属性,表数据所在目录的位置信息, Metastore 默认存在自带的 Derby 数据库中。

由于 Derby 数据库不适合多用户操作,并且数据存储目录不固定,不方便管理,因此,通常都将元数据存储在 MySQL 数据库。

一篇文章搞懂 Hive 的系统架构相关推荐

  1. 一篇文章搞懂数据仓库:数据仓库架构-Lambda和Kappa对比

    在介绍Lambda和Kappa架构之前,我们先回顾一下数据仓库的发展历程: 传送门-数据仓库发展历程 写在前面 咳,随着数据量的暴增和数据实时性要求越来越高,以及大数据技术的发展驱动企业不断升级迭代, ...

  2. 一篇文章搞懂filebeat(ELK)

    一篇文章搞懂filebeat(ELK) https://www.cnblogs.com/zsql/p/13137833.html 目录 一.filebeat是什么 1.1.filebeat和beats ...

  3. c++ 计算正弦的近似值_一篇文章搞懂正弦保真性

    本文介绍数字信号处理中"正弦保真性"这一概念,想要更好地理解本文所述内容,建议读者先阅读<一篇文章搞懂卷积>. 正弦保真性定义 一个正弦信号作为线性时不变系统的输入时, ...

  4. 【一篇文章搞懂】什么是分布式锁?为什么要用分布式锁?看这篇文章准没错!

    简介 HikariCP 是用于创建和管理连接,利用"池"的方式复用连接减少资源开销,和其他数据源一样,也具有连接数控制.连接可靠性测试.连接泄露控制.缓存语句等功能,另外,和 dr ...

  5. 一篇文章搞懂架构师的核心技能

    " 这是架构师系列的第一篇:核心技能,希望这个系列能完全揭示架构师这个职位:我先从核心技能开始,后续还有架构师之路,架构实战等架构师系列文章. 本文作者 陈睿 优知学院创始人,前携程定制旅游 ...

  6. 一篇文章搞懂 Apache Kylin 4.x 的技术架构

    前言 本文隶属于专栏<1000个问题搞定大数据技术体系>,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢! 本专栏目录结构和文献引用请见1000个问题搞定大数据技 ...

  7. 一篇文章搞懂Java架构师的核心技能及薪资!

    Java架构师一般的薪资是多少?高不高?一般来讲,Java架构师是一个比较全面的职位,它既需要学习Java开发工具.性能优化.源码分析.分布式架构.微服务架构和多线程并发编程等基础技术,又需要有组织能 ...

  8. 组件化开发实战_一篇文章搞懂什么是前端“组件化”开发

    学过网页的朋友都知道,制作一个网页离不开HTML.CSS和JavaScript技术.对于初学者来来说,掌握这3门技术就已经很不容易了,为什么前端为什么又要搞出来一个"组件化"开发的 ...

  9. reactrouter监听路由变化_一篇文章搞懂前端路由原理解析和实现方式

    在单页应用如此流行的今天,曾经令人惊叹的前端路由已经成为各大框架的基础标配,每个框架都提供了强大的路由功能,导致路由实现变的复杂. 想要搞懂路由内部实现还是有些困难的,但是如果只想了解路由实现基本原理 ...

最新文章

  1. Warning: Each child in a list should have a unique “key“ prop.
  2. Coding Interview Guide--打印两个有序链表的公共部分
  3. mysql 多实例应用配置部署指南
  4. SpringBoot 那些自带 Buff 的工具类,你用过几个?
  5. GDB怎么调试使用.sh(shell脚本)启动的程序?(未完成,待测试)
  6. Boost:循环缓冲区总和的测试程序
  7. 编写字符串比较函数strcmp .
  8. JEP 342:JVM和幽灵
  9. 12v小型电机型号大全_鄂破碎机型号大全图,小型鄂破碎机价格
  10. VXLAN 概念(Part II)- 每天5分钟玩转 OpenStack(109)
  11. 【论文】2019 年,智能问答(Question Answering)的主要研究方向有哪些?
  12. 安卓获取签名证书SHA1值
  13. java 类修饰符 作用域_java的4种内部类,你真的了解了吗?
  14. uandroidtool使用教程_apktool反编译详细使用教程_图文教程
  15. 稚晖君教你制作全球最迷你的自平衡机器人
  16. 你真的了解人工智能吗?——聊聊AI的碰壁和冬天
  17. tableau 日周月筛选器_Tableau技巧——快速计算同比和环比(及其衍生)
  18. python 126邮箱发送邮件
  19. lambda-view: JS源码阅读工具
  20. python绘制樱花洒落_Python:绘制樱花树

热门文章

  1. HMD NOKIA X6 诺基亚使用评价
  2. 如何让你的文案“一箭穿心”?
  3. 用计算机打出丑八怪,丑八怪计算器谱子 丑八怪歌词是什么意思
  4. 【趣谈】JavaScript取整操作
  5. 传送门—菜鸟小姐姐开发经验分享1(≖‿≖)✧
  6. 学习卷积神经网络后的一些心得
  7. 华为mate40 上市时间已定
  8. 阿里云mysql数据备份恢复数据到本地mysql(备份+binlog)
  9. Fabric.js 使用图片遮盖画布(前景图)
  10. 广州大彩Smart系列 4.3寸串口屏新品发布!