Hive架构
Hive组织数据包含四种层次:DataBase --> Table --> Partition --> Bucket,对应在HDFS上都是文件夹形式。
数据库和数据仓库的区别:
1). 数据库内数据是动态变化的,而数据仓库内数据是静态的,是用来存储数据的(一次写入多次读取)
2). 数据库中的数据结构比较复杂,而数据仓库中数据结构简单
3). 数据库在操作数据时要求响应速度快,即实时的进行增删改查;而数据仓库响应时间比较长
Hive架构
1) 元数据:Metastore
包括:数据库、表、分区、桶、列等名称,表的类型(是否是外部表)、表数据所在的目录等。
2) 用户接口:Client
CLI(hive shell)、JDBC/ODBC(java访问hive)、WebUI(浏览器访问hive)
3) 底层操作:HDFS+MR
使用HDFS进行存储,使用MR进行计算
4) 驱动器:Driver
- 编译器Compile:首先检查SQL中表和列是否存在,再利用第三方工具Antlr检查SQL语法是否正确,将正确的SQL解析成抽象语法树(AST),最后将AST编译成逻辑执行计划Logical Plan
- 优化器Optimizor:将逻辑执行计划先进行优化,再转化成可以运行的物理执行计划Physical Plan,即MR任务执行,并对其进行优化
- 执行器Executor:执行优化后的MR任务

元数据与Hive的对应关系:
- 【DBS】表对应【数据库】信息。
- 【TBLS】表对应【数据表】信息。
- 【COLUMNS_V2】表对应【字段】信息。
- 【PARTITIONS】表对应【分区表】信息。
- 【SDS】对应hdfs上【路径】信息:
Hive中【数据库】对应以 .db 结尾的文件夹,【表】对应文件夹,【分区字段】对应着子文件夹,【表中数据】对应数据文件。
hive保存元数据的三种方式
Hive将元数据存储在 RDBMS 中,有三种存储模式,其中1、2均属于本地存储,3属于远程存储。
- 使用内置的derby数据库存储元数据信息,不可以并发调用hive。
- 默认derby数据库问题:①换执行路径后,原来的表不存在了②只能单用户访问同一张表【单线程】。
- 这是因为derby数据库特点:在那个目录下运行hive,就那个目录下产生一个derby文件和一个metastore_db目录。
2、Multi User Mode:
- 在服务器端启动MetaStoreServer服务,客户端利用 Thrift 协议通过 MetaStoreServer 访问元数据库。
- 客户端重要配置是hive.metastore.urls,用于通过thrift连接metastore,默认 metastore端口是9083。
- 这种方式要单独启动metastore,命令为hive --service metastore。
- 通过CLI执行show tables,成功则表示remote server mode配置成功。
Hive架构的更多相关文章
- 对于HIVE架构的理解
1.Hive 能做什么,与 MapReduce 相比优势在哪里 关于hive这个工具,hive学习成本低,入手快,对于熟悉sql语法的人来说,操作简单,熟悉. 2.为什么说 Hive 是 Hadoo ...
- 037 对于HIVE架构的理解
0.发展 在hive公布源代码之后 公司又公布了presto,这个比较快,是基于内存的. impala:3s处理1PB数据. 1.Hive 能做什么,与 MapReduce 相比优势在哪里 关于hi ...
- Hive之 hive架构
Hive架构图 主要分为以下几个部分: 用户接口,包括 命令行CLI,Client,Web界面WUI,JDBC/ODBC接口等 中间件:包括thrift接口和JDBC/ODBC的服务端,用于整合Hiv ...
- hive学习(一)hive架构及hive3.1.1三种方式部署安装
1.hive简介 logo 是一个身体像蜜蜂,头是大象的家伙,相当可爱. Hive是一个数据仓库基础工具在Hadoop中用来处理结构化数据.它架构在Hadoop之上,总归为大数据,并使得查询和分析方便 ...
- [Hive]Hive架构及常规操作
Hive架构 如图中所示,Hive通过给用户提供的一系列交互接口,接收到用户的指令(SQL),使用自己的Driver,结合元数据(MetaStore),将这些指令翻译成MapReduce,提交到Had ...
- Hive架构原理
什么是Hive Hive是由Facebook开源用于解决海量结构化日志的数据统计:Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射 成一张表,并提供类SQL查询功能,底层计算引 ...
- Hive架构及搭建方式
目录 前言 hive的基础知识 基本架构 metastore 内嵌服务和数据库 内嵌服务 服务和数据库单独部署 hcatalog 客户端 客户端的本地模式 beeline beeline的自动模式 j ...
- Hive架构及Hive On Spark
Hive的所有数据都存在HDFS中. (1)Table:每个表都对应在HDFS中的目录下,数据是经过序列化后存储在该目录中.同时Hive也支持表中的数据存储在其他类型的文件系统中,如NFS或本地文件系 ...
- Hive架构与工作原理
组成及作用: 用户接口:ClientCLI(hive shell).JDBC/ODBC(java访问hive).WEBUI(浏览器访问hive) 元数据:Metastore 元数据包括:表名.表所属的 ...
随机推荐
- 170417、Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)
前言:互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,Dubbo是一个分布式服务框架,在这种情况下诞生的.现在核心业务抽取出来,作为独立的服 ...
- Quartz.net 基于配置的调度程序实践
1.Nuget 搜索并安装Quartz.net 2.3.3 2.添加配置到App.config <?xml version="1.0" encoding="utf ...
- Oracle Java Mission Control MBean 服务器 飞行记录器
Oracle Java Mission ControlMBean 服务器飞行记录器
- Linux系统CPU核数等信息查看
版权声明:本文为原创文章,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明. https://blog.csdn.net/fgf00/article/details/52584 ...
- golang的指针和切片
首先为什么要讲go的指针和切片放在一起? 因为go指针和切片都是引用类型 引用类型就是说切片和指针保存的只是内存的地址,而不是具体的值,效率在大数据读取方面效率会高很多. 1.怎么定义一个切片 方法1 ...
- MapReduce的核心编程思想
1.MapReduce的核心编程思想 2.yarn集群工作机制 3.maptask并行度与决定机制 4.maptask工作机制 5.MapReduce整体流程 6.shuffle机制 7.yarn架构
- c++ caffe 输出 activation map 、 层参数
python输出activation map与层参数:https://blog.csdn.net/tina_ttl/article/details/51033660 caffe::Net文档: htt ...
- Count the string---hdu3336(kmp Next数组的运用)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3336 题意就是求串s的前缀的个数和: 例如:abab 前缀 个数 a 2 ab 2 ab ...
- 入木三分学网络第一篇--VRRP协议详解第一篇(转)
因为keepalived使用了VRRP协议,所有有必要熟悉一下. 虚拟路由冗余协议(Virtual Router Redundancy Protocol,简称VRRP)是解决局域网中配置静态网关时,静 ...
- Java-小技巧-005-double类型保留两位小数4种方法
4种方法,都是四舍五入,例: import java.math.BigDecimal; import java.text.DecimalFormat; import java.text.NumberF ...