hive 初认识

结构
Hive 是建立在hadoop上的数据仓库架构,它提供了一系列的工具,可以进行数据提取转换加载(这个过程叫做ETL),这是一种可以存储,查询和分析存储在hadoop中的大规模数据的机制.Hive定义了简单的类SQL查询语句 成为hql,他允许数据SQL的用户查询数据.同时 这个语言也允许数据mapreduce开发者的开发自定义mapper和reducer来处理内建的复杂的分析工作.
image

Hive的核心
hive的核心是Driver驱动引擎,驱动驱动有四部分组成:
1>解释器:解释器的作用是将HiveSQL语句转换为语法树(AST)
2>编译器:编译器是讲语法树编译为逻辑执行计划
3>优化器:优化是对逻辑执行计划进行优化
4>执行器:执行器是调用底层的运行康佳执行逻辑执行计划.

Hive的底层存储
Hive的数据是存储在HDFS上的 Hive中的库和表可以看做是HDFS上数据做的一个映射,所以Hive必须是运行在Hadoop集群上的.

Hive程序的执行过程
hive中的执行器,试讲最终要执行的MapReduce程序放在YARN上以一系列的Job的方式执行.

Hive的元数据的存储
HIve的元数据是一般是存储在MYSQL这种关系型数据库上的,Hive和MYSQL之间通过MetaStore服务交互.

image

Hive客户端
1>cli命令行客户端:采用交互窗口.用hive命令行和Hive进行通信
2>HiveSever2客户端:yongThrift写进行通信,Thrift是不同语言之间的转化器,是连接不同语言程序间的协议,通过JDBC或者ODBC去访问Hive
3>HWI客户端:hive自带的一个客户端,一般不用
4>HUE客户端:通过Web页面来和Hive进行交互,使用的比较多.

Hive与HADHOOP的关系
image

Hive构建在Hadoop之上
1>HQL中对查询语句的解析,优化,生成查询计划是由Hive完成的
2>所有的数据都是存储在Hadoop中
3>查询计划被转换为MapReduce任务,在Hadoop中执行(有些查询没MR任务,入select * from table)
4>Hadoop和Hive都是使用UTF-8编码的

Hive和普通关系数据库的异同
image

(1)查询语言.有SQL被广泛的应用在数据仓库中.因此,专门针对Hive的特性设计了类SQL的查询语言HQL 数据SQL开发者可以很方便的使用Hive进行开发的
(2)数据存储位置,Hive是建立在HAdoop之上的.所以HIve的数据都是存储在HDFS中的,而数据库则可以将数据保存在这块设备或者本地文件系统中
(3)数据格式.Hive中没有定义专门的数据格式,数据格式可以有用户指定,用户定义数据格式需要指定三个属性:列分隔符(通常为空格,'t','x001'),行分隔符以及读取文件数据的方法(Hive中默认有三个文件格式TextFile,SequenceFile以及RCFile),由于加载数据的过程中,不需要从用户数据格式到Hive定义的数据格式转换,因此Hive在加载的过程中不会对数据本身进行任何的修改,而只是将数据内容复制或者移动到相应的HDFS目录中.而在数据库中,不同的数据库有不同的存储引擎,定义了自己的数据格式,所有的数据都会按照一定的住址存储,因此数据库加载数据的过程会比较耗时.
(4)数据更新.由于Hive是针对数据仓库应用设计的.而数据仓库的内容都铎写少的,因此Hive中不支持数据的改写和添加,所有的数据都是在加载的时候中确定好的.而数据库中的数据通常是需要经常进行修改的,因此可以使用insert into ...values 添加数据,使用update ....set修改数据.
(5)索引,之前已经说过Hive在加载数据的过程中不会对数据进行任何处理,甚至不会对数据进行扫描,因此也没有对数据中的某些Key建立索引,Hive要访问数据中满足条件的特定值时,需要暴力扫描整个数据,因此访问延迟较高,数据库中,通常会针对一个或者几个列建立索引,因此对于少量的特定条件的数据的访问,数据库中有很高的效率,较低的延迟,由于数据的访问延迟较高没界定了Hive不适合在线数据查询.
(6)执行,Hive中的大多数查询的执行师通过Hadoop提供的MapReduce来实现的,而数据库通常有自己的执行引擎.
(7)执行延迟:之前提到,Hive在查询数据的时候,由于没有索引,需要扫描整个表,因此延迟较高,另外一个导致Hive执行延迟较高的因素是MapReduce框架,由于MapReduce本身具有较高的延迟,因此在利用MapReduce执行Hive查询时,也会有较高的延迟,相对的,数据库的执行延迟较低,当然,这个是有条件的,即数据量小,如果数据量很大,则延迟会远超过Hive
(8)可扩展性,由于Hive是建立在Hadoop之上的.因此Hive的可扩展性适合Hadoop的可扩展性是一致的,而数据库由于ACID语句的严格限制,扩展性非常有限,目前先进的并行数据库Oracle在理论上的扩展能力也只有100台左右
(8)数据规模:由于Hive建立在集群上并行利用MapReduce进行并行计算,因此可以支持很大规模的数据,对饮的,数据库可以支持的数据库规模较小.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/393629.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机组成原理实验读r1,计算机组成原理实验一

计算机组成原理实验一 (5页)本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!8.90 积分计算机组成原理实验计算机组成原理实验第一章、TEC-5 计算机组成实验箱简介运算器运算器74181通用寄存器通用寄存器…

Spark常见问题解决办法

以下是在学习和使用spark过程中遇到的一些问题,记录下来。 1、首先来说说spark任务运行完后查错最常用的一个命令,那就是把任务运行日志down下来。 程序存在错误,将日志down下来查看具体原因!down日志命令:yarn logs -application…

autosar工具链_Autosar开发与手写代码开发的区别

Autosar开发流程1.BSW开发主要应用工具链(Vector等工具,具体可以百度搜索Autosar配置工具)来配置,复杂驱动的代码需要手写,但是也要符合Autosar的接口标准,主要包括,CAN通信配置、数字输入配置、…

山东计算机类好的民办大学,2021年山东所有民办大学名单及排名(教育部)

高考考上一个好的大学,是每位考生和家长的一个梦想,但是选择一个适合自己的大学也非常重要。本文高考助手网帮各位考生整理了关于山东本地区所有的民办大学名单、山东所有的民办大学分数线排名、山东民办大学文理科投档线等相关知识,各位考生在填报志愿的…

用例设计:思维导图orExcel

一、 某次紧急发版时使用思维导图来进行了用例的设计,很被导图多分支罗列、在单一分支上层层递进设计模式的吸引,最终看到由版本主题开枝散叶衍发出的结构性用例时非常开心。从此,几个版本的迭代都使用思维导图进行用例设计。 然而部门制度关…

class对象和class文件_Class文件格式

我们知道Java是一门跨平台的语言,我们编写的Java代码会被编译成中间class文件以让Java虚拟机解析运行。而Java虚拟机规范仅仅描述了抽象的Java虚拟机,在实现具体的Java虚拟机时,仅指出了设计规范。Java虚拟机的实现必须体现规范中的内容&…

构建自己的简单微服务架构(开源)

构建自己的简单微服务架构(开源) 原文:构建自己的简单微服务架构(开源)前言 本篇仅作引导,内容较多,如果阅读不方便,可以使用电脑打开我们的文档官网进行阅读。如下图所示&#…

[转载]Spring配置文件详解一:

2019独角兽企业重金招聘Python工程师标准>>> 原文地址&#xff1a;Spring配置文件详解一&#xff1a;<context:annotation-config/>与<context:component-scan base-package"com.xx 作者&#xff1a;爱情随遇而安 <context:annotation-config/>…

手机计算机的隐藏小技巧,涨知识!MIUI计算器原来有这么多隐藏小技巧,最后一个绝对想不到...

原标题&#xff1a;涨知识&#xff01;MIUI计算器原来有这么多隐藏小技巧&#xff0c;最后一个绝对想不到计算器除了我们需要进行日常的计算以外&#xff0c;几乎是用不到的。但是MIUI中的计算器与普通计算器可不同&#xff0c;里面的隐藏小技巧足以让你震惊到&#xff0c;那么…

Android零基础入门第83节:Activity间数据传递方法汇总

2019独角兽企业重金招聘Python工程师标准>>> 在Activity间传递的数据一般比较简单&#xff0c;但是有时候实际开发中也会传一些比较复杂的数据&#xff0c;本节一起来学习更多Activity间数据的传递。 一、常用数据类型 在前面几节我们只学习了一些常用类型的数据传递…

02-c#基础之01-基础语法(一)

1.注释符 1&#xff09;注销 2) 解释 2.C#中的3种注释符 1&#xff09;单行注释// 2)多行注释/*要注释的内容*/ 3)文档注释///多用来解释类或者方法 2.VS中的快捷键 转载于:https://www.cnblogs.com/yoyo-524/p/6502827.html

四五六年级计算机教学计划,五六年级信息技术教学计划

五六年级信息技术教学计划一、大纲对本册教材的要求作为小学阶段的信息技术课程&#xff0c;应以学生对计算机的学习心理、学习行为和学习方法为背景&#xff0c;把计算机基础知识和计算机最新应用融于一体&#xff0c;使之既体现信息技术学科的教学理论&#xff0c;又吸收现代…

阿里巴巴旗下平台口碑推出无人收银技术,改造便利店市场;重庆法院运用 AI 探索“智能判案”...

阿里巴巴旗下平台口碑推出无人收银技术&#xff0c;改造便利店市场 雷锋网消息 阿里巴巴旗下本地生活服务平台口碑今日宣布在上海新兴便利店品牌24鲜上线无人收银技术。消费者只要打开支付宝&#xff0c;扫一扫想要购买的商品的条形码&#xff0c;就可以自助提交订单完成支付。…

如何使用射手影音寻找字幕

我们以"理智与情感"Sense and Sensibility为例&#xff0c;在迅雷搜索了下载&#xff0c;结果到了99%就不动了&#xff0c;由于是字幕文件&#xff0c;不能直接把TD的后缀去掉看影片&#xff0c;但是影片已经下载完成&#xff0c;所以我们使用射手影音播放该电影。&a…

C语言第二次博客作业---分支结构

一、PTA实验作业 题目1&#xff1a;计算分段函数[2] 本题目要求计算下列分段函数f(x)的值&#xff1a; 1.实验代码 double x,result;scanf("%lf",&x);if(x>0){resultsqrt(x);}else{resultpow(x1,2)2*x1/x;}printf("f(%.2f) %.2f",x,result); 2 设计…

OSChina 周四乱弹 ——妹子喜欢的是程序员 这是标准……

2019独角兽企业重金招聘Python工程师标准>>> Osc乱弹歌单&#xff08;2017&#xff09;请戳&#xff08;这里&#xff09; 【今日歌曲】 一叶孤鸿 &#xff1a;分享Nanaka的单曲《いのちの名前&#xff08;Cover 木村弓&#xff09;》 《いのちの名前&#xff08;C…

xp系统sql服务器怎么找,SQL文件在winxp系统下怎么打开

很多用户不知道SQL文件是什么?SQL文件怎么打开?我们存储数据时候经常会遇到SQL文件&#xff0c;如果你不知道WinXP系统SQL文件是什么以及怎么打开的话&#xff0c;那就赶紧看看小编整理的以下文章内容吧!SQL文件是什么?学习编程的同学可能都知道SQL是一种高级的非过程化的编…

Silverlight 设计器加载错误

每次打开silverlight页面出如下错误 然后设计器不能将页面加载出来 最后找了蛮多资料的 感觉这个原因有可能&#xff1a;“控制面板的添加删除程序那里&#xff0c;选中Microsoft Silverlight&#xff0c;看看他的版本&#xff0c;是否与所装的SDK的版本号一致。就算两个版本号…

mysql索引优化实际例子_MySQL索引优化的实际案例分析

Order by desc/asc limit M是我在mysql sql优化中经常遇到的一种场景&#xff0c;其优化原理也非常的简单&#xff0c;就是利用索引的有序性&#xff0c;优化器沿着索引的顺序扫描&#xff0c;在扫描到符合条件的M行数据后&#xff0c;停止扫描&#xff1b;看起来非常的简单&am…

阿里云视频点播解决方案使用教程

2019独角兽企业重金招聘Python工程师标准>>> 课程介绍 视频点播&#xff08;ApsaraVideo for VoD&#xff0c;简称VoD&#xff09;是集视频音视频采集、编辑、上传、自动化转码处理、媒体资源管理、分发加速于一体的一站式音视频点播解决方案。 产品详情&#xff1a…