理解Hive 不同组件的功能
Hive功能
通过将SQL转换成MR、Spark等任务,来计算HDFS中数据的工具。
Hive是基于Hadoop之上的数仓工具。通过HDFS存储真实的数据,通过YARN运行计算任务(MR、Spark等可以依赖YARN)。
那么我们简单分析Hive需要具备的能力:
- 对SQL编译、抽象
- 将SQL转换成计算任务并执行
- 对HDFS中的数据进行格式定义
- 管理HDFS上数据的读写(哪些能读、哪些能写)
所以Hive需要能将SQL进行抽象,将其转换成在MR、Spark运行的任务,并执行这些任务。
在HDFS中存储数据,格式有很多种,但是为了能够支持以 SQL的方式读写,那么需要能够对这些数据进行schema定义。
HDFS上的数据很多,那么Hive不能随意的读取其中的数据,那么需要定义能够读取数据的位置。
再进行总结Hive需要包含元数据管理(metastore)和 解析SQL并执行计算(Drive)。
元数据管理使用服务metastore,其底层可以是关系型数据库,比如MySQL等。
Hive所有元数据管理都是基于metastore进行操作。
通过metastore屏蔽了对于数据的直接操作,让元数据管理变的可靠、稳定。
HCatalog服务是用于管理metastore的对外服务。第三方的接口处理或者管理metastore可以通过它。所以metastore可以理解为对内管理Hive元数据的服务。
解析SQL并执行计算就需要通过HiveCLI与HiveServer2。
HiveCLI可以理解为重客户端。他提供本地编译SQL,并向YARN提交任务的功能。它也能直接与metastore进行交互。
HiveServer2也能提供HiveCLI的功能,但是他还能对外提供服务,服务是以thrift的方式提供的。客户可以通过jdbc、odbc等方式连接HiveServer2,将任务提交给HiveServer2后,他再于metastore、YARN交互执行相关的指令。
beeline是一个轻客户端,他可以通过jdbc的方式连接HiveServer2,并将任务提交给HiveServer2,它也支持强大的权限管理等功能。
理解Hive 不同组件的功能的更多相关文章
- 我所理解的Android组件化之通信机制
之前写过一篇关于Android组件化的文章,<Android组件化框架设计与实践>,之前没看过的小伙伴可以先点击阅读.那篇文章是从实战中进行总结得来,是公司的一个真实项目进行组件化架构改造 ...
- 华为云计算IE面试笔记-FusionSphere Openstack有哪些关键组件,各组件主要功能是什么?三种存储接入组件的差异有哪些?
1. Nova:在OpenStack环境中提供计算服务,负责计算实例(VM,云主机)生命周期的管理,包括生成.调度和回收.Nova不负责计算实例的告警上报(FC管). 2. Cinder:为计算实例提 ...
- openstack【Kilo】汇总:包括20英文文档、各个组件新增功能及Kilo版部署
OpenStack Kilo版本发布 20英文文档OpenStack Kilo版本文档汇总:各个操作系统安装部署.配置文档.用户指南等文档 Kilo版部署 openstack[Kilo]入门 [准备篇 ...
- 日历视图(CalendarView)组件的功能和用法
日历视图(CalendarView)可用于显示和选择日期,用户既可选择一个日期,也可通过触摸来滚动日历.如果希望监控该组件的日历改变,可调用CalendarView的setOnDateChangeLi ...
- 详解Swing中JTree组件的功能
JTree组件是另外一个复杂组件,它不像 JTable 那样难用,但是也不像 JList 那么容易.使用 JTree 时麻烦的部分是它要求的数据模型. JTree组件的功能来自树的概念,树有分支和叶子 ...
- VMware vSphere 组件和功能
https://pubs.vmware.com/vsphere-50/index.jsp?topic=%2Fcom.vmware.vsphere.introduction.doc_50%2FGUID- ...
- Eclipse 插件开发 -- 深入理解菜单(Menu)功能及其扩展点( FROM IBM)
Eclipse 插件开发 -- 深入理解菜单(Menu)功能及其扩展点 菜单是各种软件及开发平台会提供的必备功能,Eclipse 也不例外,提供了丰富的菜单,包括主菜单(Main Menu),视图 / ...
- 仿照admin的stark自定义组件的功能实现
仿照admin的stark自定义组件的功能实现:其中最主要的就是增删改查的实现 1.查:首先页面中显示表头和数据,都是动态的,而不是写死的. (1) 先看表头和表单数据:这个是查看的视图函数,但是为了 ...
- Hive初步认识,理解Hive(一)
Hive初步认识,理解Hive(一) 用了有一段时间的Hive了,之前一直以为hive是个数据库,类似Mysql.Oracle等数据库一样,其实不然. Hive是实现Hadoop 的MapReduce ...
- Vue日历组件的功能
本来呢,开开心心的写完了这个功能,然后发现elemeng更新了,增加了日历组件这个功能 我的内心机器奔溃,但是,element的日历组件太简单了,我感觉还是手撸一个吧,毕竟也不是很难 实现了显示农历, ...
随机推荐
- 使用js闭包实现可取消的axios请求
在平常开发中,经常会遇到重复请求的情况,也许是因为网络问题,也许是因为接口问题等等,传统做法是客户端采用防抖来限制用户发送接口的频率,一般出个loading转圈圈的形式, 但是很少使用取消请求的做法, ...
- git 回退之前某次提交
git 版本回退,用于误提交或者版本回退 一.回滚到之前的某次版本,且该版本后的提交都不要(用于版本回退) 1).首先查看版本号,用 git log 命令查看要回退的版本对应的commit Id co ...
- JavaScript – Web Worker
前言 在上一篇 << 单线程 与 执行机制 >> 中, 我们提到了 Web Worker. 它的诞生是为了解决 JS 主线程执行耗时计算时, 导致 UI 无法及时更新的卡死现象 ...
- RxJS 系列 – 实战练习
前言 这篇主要是给一些简单例子, 从中体会 RxJS 在管理上的思路. Slide Down Effect with Dynamic Content 我在这篇 CSS & JS Effect ...
- 从0到1搭建权限管理系统系列三 .net8 JWT创建Token并使用
说明 该文章是属于OverallAuth2.0系列文章,每周更新一篇该系列文章(从0到1完成系统开发). 该系统文章,我会尽量说的非常详细,做到不管新手.老手都能看懂. 说明:OverallAuth2 ...
- 解决 SHADERed无法打开,报错 缺失XINPUT1_4.DLL 文件的办法
起因: 在给某个不知名的同事安装软件时遇到的一个问题,安装完成后打开软件报错:SHADERed无法打开,报错 缺失XINPUT1_4.DLL ,C++依赖项均已打上,卸载C++插件后依然报错只能找缺失 ...
- laravel框架中保留条件搜索
前段代码 <form action="admin_index" method="get"> <input type="text&qu ...
- webgl和canvas的区别
webgl和canvas的区别 WebGL和Canvas的主要区别在于它们的渲染方式.功能复杂性.以及编程难度.12 渲染方式:Canvas使用2D渲染上下文来绘制图形和图像,基于像素的绘图系统, ...
- 1. 王道OS-操作系统的概念、功能
1. 操作系统是指控制和管理整个计算机的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配:以提供给用户和其他软件方便的接口和环境:他是计算机系统最基本的系统软件: 操作系统需要向其他软件提供服 ...
- Squid设置用户名密码
在ubutnu上设置squid代理认证 为了在Ubuntu上设置Squid代理身份验证,您需要对Squid配置文件进行以下一些调整: 生成Squid代理身份验证密码 htpasswd是两种可用于生成代 ...