原创 | 大数据入门基础系列之浅谈Hive的体系架构

-回复 -浏览
楼主 2019-01-16 03:53:17
举报 只看此人 收藏本贴 楼主





点击上方 "大数据躺过的坑" 关注我们








在前面的博文里,我已经介绍了

大数据躺过的坑之2017年9月份所有微信公众号干货汇总

大数据躺过的坑之2017年10月份所有微信公众号干货汇总

大数据躺过的坑之2017年11月份所有微信公众号干货汇总

【夜读】你这个病,叫做误把熬夜当拼命

原创 | 大数据入门基础系列之浅谈Hive的特点

【夜读】所谓人生开挂,不过是厚积薄发

原创 | 大数据入门基础系列之浅谈Hive的优缺点

【夜读】唯有不断充实自己,增强自己的核心竞争力,把今天的自己活成人生中最好的自己,你才有机会超越年龄带给你的局限。

原创 |  大数据入门基础系列之浅谈Hive和数据库的差别

【夜读】把行动交给现在,把结果交给时间

原创 | 大数据入门基础系列之详谈Hive的文件存储格式(TextFile、SequenceFile、RcFile、自定义格式)

【夜读】跌倒不要紧,要紧的是赶快爬起来

原创 | 大数据入门基础系列之浅谈Hive的工作原理

【夜读】30岁了,20岁的借口不能用了

原创 | 大数据入门基础系列之Hive 的基本数据类型、复杂数据类型、数据类型之间转换








下面是Hive的架构图: 





















Hive的体系结构

        可以分为以下几部分:

        (1)用户接口主要有三个:CLI,Client 和 WUI。其中最常用的是CLI,Cli启动的时候,会同时启动一个Hive副本。Client是Hive的客户端,用户连接至Hive Server。在启动 Client模式的时候,需要指出Hive Server所在节点,并且在该节点启动Hive Server。 WUI是通过浏览器访问Hive。

        (2)Hive将元数据存储在数据库中,如mysql、derby。Hive中的元数据包括表的名字,表的列和分区及其属性,表的属性(是否为外部表等),表的数据所在目录等。

        (3)解释器、编译器、优化器成HQL查询语句从词法分析、语法分析、编译、优化以及查询计划的生成。生成的查询计划存储在HDFS中,并在随后有MapReduce调用执行。

        (4)Hive的数据存储在HDFS中,大部分的查询、计算由MapReduce完成(包含*的查询,比如select * from tbl不会生成MapRedcue任务)。





 CLI(command line interface)即命令行接口。

  Thrift Server是Facebook开发的一个软件框架,它用来开发可扩展且跨语言的服务,Hive集成了该服务,能让不同的编程语言调用Hive的接口

  Hive客户端提供了通过网页的方式访问Hive提供的服务,这个接口对应Hive的HWI组件(Hive web interface),使用前要启动HWI服务。
  Metastore是Hive中的元数据存储,主要存储Hive中的元数据,包括表的名称、表的列和分区及其属性、表的属性(是否为外部表等)、表的数据所在目录等,一般使用MySQL或Derby数据库。





用户接口:client

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

元数据:metastore

        元数据包括:表名、表所属数据库、表的拥有者、列/分区字段、表的类型、表数据所在目录。

Hadoop:

        使用hdfs进程数据存储,运行在yarn上,使用mapreduce进行计算。

驱动器:dirver

         包含、解析器、编译器、优化器、执行器

解析器

        将SQL字符串转换成抽象语法树AST,这一步一般都是用第三方工具库完成,比如antlr;对AST语法树进行分析,比如表否存在、字段是否存在、SQL语义是否有误。

编译器

        将AST编译生成逻辑执行计划。

优化器

        对逻辑执行计划进行优化。

执行器

        把逻辑执行计划转换成物理执行计划。对于hive来说,就是MR/TEZ/Spark;












同时,大可以关注我的个人博客  

http://www.cnblogs.com/zlslch/   和http://www.cnblogs.com/lchzls/   和  

 http://www.cnblogs.com/sunnyDream/


       以及对应本平台的QQ群:161156071(大数据躺过的坑)








        本文版权归大数据躺过的坑)作者和微信公众平台共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。 如果您认为这篇文章还不错或者有所收获,您可以通过下边的“打赏”功能 打赏我一杯咖啡【物质支持】,也可以点击右下角的【点赞】按钮【精神支持】,因为这两种支持都是我继续写作,分享的最大动力!

看完本文有收获?请转发分享给更多人

关注「大数据躺过的坑」,提升大神技能







觉得不错,请点赞和留言↓

我要推荐
转发到