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),使用自己的Driver,
结合元数据(MetaStore),将这些指令翻译成MapReduce,提交到Hadoop 中执行,最后,将执行返回的结果输出到用户交互接口。

1.3 Hive架构原理相关推荐

  1. 一文读懂Hive(架构原理,DDL,常用函数,优化技巧)

    1.HIVE简介 1.什么是HIVE hive是基于Hadoop构建的一套数据仓库分析系统,它提供了丰富的SQL查询方式来分析存储在Hadoop分布式文件系统中的数据: 可以将结构化的数据文件映射为一 ...

  2. Hive架构和工作原理

    一.Hive 架构 下面是Hive的架构图. Hive的体系结构可以分为以下几部分: 1.用户接口主要有三个:CLI,Client 和 WUI.其中最常用的是CLI,Cli启动的时候,会同时启动一个H ...

  3. 兄弟,用大白话告诉你小白都能看懂的Hadoop架构原理

    本文来自:石杉的架构笔记 目录 一.前奏 二.HDFS的NameNode架构原理 一.前奏 Hadoop是目前大数据领域最主流的一套技术体系,包含了多种技术. 包括HDFS(分布式文件系统),YARN ...

  4. hive架构及使用场景

    一 什么是Hive,它能解决什么问题? Hive是一个基于Hadoop的数据仓库平台.它通过HDFS进行存储,通过MapReduce执行查询计划,使用类SQL的查询语言HQL作为查询接口. 作用:可以 ...

  5. 大数据项目之电商数仓DataX、DataX简介、DataX支持的数据源、DataX架构原理、DataX部署

    文章目录 1. DataX简介 1.1 DataX概述 1.2 DataX支持的数据源 2. DataX架构原理 2.1 DataX设计理念 2.2 DataX框架设计 2.3 DataX运行流程 2 ...

  6. Apache Beam 架构原理及应用实践

    导读:大家好,很荣幸跟大家分享 Apache Beam 架构原理及应用实践.讲这门课之前大家可以想想,从进入 IT 行业以来,不停的搬运数据,不管职务为前端,还是后台服务器端开发.随着这两年科技的发展 ...

  7. 深入浅出:hadoop架构原理

    一.前奏 Hadoop是目前大数据领域最主流的一套技术体系,包含了多种技术. 包括HDFS(分布式文件系统),YARN(分布式资源调度系统),MapReduce(分布式计算系统),等等. 有些朋友可能 ...

  8. DataX 简介及架构原理

    DataX 简介及架构原理 概述 DataX是阿里巴巴使用 Java 和 Python 开发的一个异构数据源离线同步工具 异构数据源:不同存储结构的数据源 致力于实现包括关系型数据库 MySQL.Or ...

  9. 2021年大数据ELK(十一):Elasticsearch架构原理

    全网最详细的大数据ELK文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 Elasticsearch架构原理 一.Elasticsearch的节点类型 ...

最新文章

  1. 我把序列化玩成了这样,吊锤了一波面试官
  2. 第二次冲刺------第三天
  3. 再也不用担心面试官问你HashCode和equals了
  4. Java中BigInteger的各种方法详解
  5. Android WebView使用深入浅出
  6. 东南亚ERP仓储管理系统怎么样?
  7. 2022黑马程序员-前端学习第一阶段(Day02-HTML基础)
  8. [linux kernel] 内核下RX8025对接系统时钟
  9. java如何开发国内手机短信验证码接口
  10. flyme android 7 root,魅族PRO7怎么Root?魅族PRO7一键ROOT权限获取图文教程(系统自带Root功能)...
  11. 利用python爬取实习僧网站上的数据
  12. IEEE 754浮点数工业标准
  13. SAP SM04踢人操作(摘录)
  14. Jeston Xavier NX 语言设置和中文键盘输入
  15. 环科跨考数一英一408经验帖
  16. ccna学习指南笔记1
  17. Linux安装和使用FTP服务Serv-U
  18. Repository接口
  19. Phoenix / HBase中的salted table
  20. android+为辅助功能添加说明,了解如何使用辅助功能在 Outlook 中导航

热门文章

  1. Django create和save方法
  2. kotlin 学习笔记(1)
  3. Net性能分析与调试培训资料
  4. SSH框架第一天——hibernate框架
  5. sqlite3存储格式
  6. 207-Course Schedule
  7. shell 安装java_Shell脚本实现在Linux系统中自动安装JDK
  8. 哥伦比亚大学浙江大学计算机,大神offer | 恭喜C同学录取哥伦比亚大学-数据科学硕士!...
  9. GoJS v1.8.27 去水印方法
  10. POJ 2823 Sliding Window