Hive初识功能架构

来源:互联网 发布:药店运营数据分析报告 编辑:程序博客网 时间:2024/06/01 21:18

hadoop,spark,kafka交流群:459898801

本节讲述的主要内容为:

1) Hive 能做什么,与MapReduce相比优势在哪里(对于开发者)
2) 为什么说Hive是Hadoop 数据仓库,从【数据存储和分析】方面理解
3) Hive 架构,分为三个部分来理解,最好通过画图理解

1,hive PK mapreduce。

1.1 mapreduce的缺点

(1).MapReduce 格式比较固定。
【八股文】格式编程,三大部分组成
(2).No Schema(数据库中的Schema,为数据库对象的集合,一个用户一般对应一个schema。),缺少查询语言,比如SQL。

  • 数据分析,针对DBA、SQL语句,如何进行数据分析。
  • MapReduce编程成本高。
  • 因此facebook,实现并开源了hive。

1.2 hive的优点

(1).操作接口采用类SQL语法,提供快速开发能力(简单、容易上手);
(2).避免去写mapreduce,减少开发人员的学习成本;
(3).统一的元数据管理,可与implela/spark等共享元数据;
(4).易扩展(HDFS+MapReduce:可以扩展集群规模;支持自定义函数);
(5).数据的离线处理;比如:日志分析,海量结构数据离线分析。
(6).hive执行延迟比较高,因此hive常用于数据分析的,对实时性要求不高的场合;
(7).hive优势在于处理大数据,对于处理小数据没有 优势,因为hive的执行延迟比较高。

2,hive是hadoop的数据仓库

hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。它提供了一系列的工具,可以用来进行数据提取转化加载(ETL),这是一种可以存储、查询和分析存储在 Hadoop中的大规模数据的机制。
(1).hive由FaceBook开源用于解决海量结构化日志的数据统计。
(2).hive是基于hadoop的一个数据仓库工具,可以将结构化的数据文件映射成一张表,并提供类SQL查询功能。
(3).hive是构建在hadoop之上的数据仓库:

  • 使用HQL语句作为查询接口
  • 使用HDFS进行存储
  • 使用mapreduce进行计算。
    (4).hive本质是:将HQL转化成MapReduce程序。
    (5).灵活和扩展性比较好:支持UDF,自定义存储格式。
    (6).适合离线处理。
    (7).查询和管理在分布式存储的大的数据集(数据库:增删改查,hive不支持增删该)。管理主要是对表的管理。

3,hive架构理解

hive在hadoop生态系统中的位置:
hive在生态系统中的位置.png-24.6kB
hive框架图:
hive架构.png-14.4kB
hive执行流程:
hive执行流程.png-117.1kB

3.1 用户接口:client

CLI(hive shell)、JDBC/ODBC(java访问hive),WEBUI(浏览器访问hive)

3,2 元数据:metastore

元数据包括:表名、表所属的数据库(默认是default)、表的拥有者、列/分区字段、表的类型(是否是外部表)、表的数据所在目录等;
默认存储在自带的derby数据库中,推荐采用mysql存储metastore;

3,3 hadoop

使用HDFS进行存储,使用mapreduce进行计算

3.4 驱动器:driver

驱动器包含:解析器、编译器、优化器、执行器。
(1).解析器:
强SQL字符串转换成抽象语法树AST,这一步一般都用第三方工具完成,比如antlr;对AST进行语法分析,比如表是否存在、字段是否存在、SQL语义是否有误(比如select中被判定为聚合的字段在group by中是否出现).

(2).编译器
将AST编译生成逻辑执行计划。

(3).优化器
对逻辑执行计划进行优化。

(4).执行器。
把逻辑执行计划转换成可以运行的物理计划。对于hive来说,就是MR/TEZ/Spark。

3.5,hive与关系型数据库的区别。

(1).hive和关系数据库存储文件的系统不同,hive使用的是hadoop的HDFS(hadoop的分布式文件系统),关系数据库则是服务器本地的文件系统;
(2).hive使用的计算模型是mapreduce,而关系数据库则是自己设计的计算模型;
(3).关系数据库都是为实时查询的业务进行设计的,而hive则是为海量数据做数据挖掘设计的,实时性很差;实时性的区别导致hive的应用场景和关系数据库有很大的不同;
(4).Hive很容易扩展自己的存储能力和计算能力,这个是继承hadoop的,而关系数据库在这个方面要比数据库差很多。

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 吃鸡买的账号密码邮箱忘记了怎么办 氩弧焊枪管带里进水了怎么办 绝地求生穿头盔的时候连衣帽怎么办 开车不小心把光缆线给挂断了怎么办 脚刺到了生锈钢钉没打针怎么办 一加3t背壳螺丝掉了怎么办 30万美金美金中国被扣怎么办 电脑使用迅雷变的很卡怎么办 优盘拷贝过程中失去优盘路径怎么办 用百度云上传视频文件太慢了怎么办 网易云音乐云盘电脑上传很慢怎么办 路由器的宽带账号密码忘记了怎么办 蚂蚁邦路由器管理密码忘记了怎么办 红米2a刷机失败怎么办 小米手机开机图案锁忘记了怎么办 小米6进水无限闪屏开机重启怎么办 红米手机一直卡在开机画面怎么办 红米4卡在开机画面怎么办 红米手机一直在开机画面怎么办 红米手机一直跳开机画面怎么办 红米note3锁屏密码忘记怎么办 红米手机忘记锁屏密码怎么办 红米4锁屏密码忘了怎么办 红米note忘记锁屏密码怎么办 红米note2锁屏密码忘了怎么办 机打发票抬头名字少写一个字怎么办 卷式发票名字写错了怎么办 发票丢失了销售方不给补手续怎么办 总是把单词归不成句孑怎么办 白色踏板摩托车把漆刮了怎么办 苹果手机用流量缓冲很难怎么办 谷歌浏览器安卓手机版打不开怎么办 怀孕四个月检查高型半氨酸高怎么办 猎豹cs9怎么打不开车门怎么办 孩子在学校被老师冤枉打板子怎么办 么司福利体检暗地查乙肝怎么办 上体育课时被老师罚了腿疼怎么办 义务兵学技术不好班长打他怎么办 耳朵被打了一巴掌听不见了怎么办 耳朵被打了一巴掌后有点闷怎么办 山东省教育云平台密码戳完怎么办