「原创」java程序员10分钟了解大数据之HIVE,最后两点最重

2018-08-19  本文已影响0人  java老大哥

PS:大家有什么想要分享的内容!可以在评论下方留言!!!

❤如果需要更多笔记资料,请私信小编即可!

❤图文均为原创,旨在分享。

❤任何想法,可直接在最底右下方"写留言即可"

❤如果觉得写得不错请点击“了解更多”,每天更新原创内容!

猛戳这里,“了解更多”

喜欢就来个【点赞+留言+转发+关注】四连!

你想了解大数据?来吧联系我!

Hive的产生:

是非java编程者对hdfs的数据做mapreduce操作。

• Hive:数据仓库。

• 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任务)。

 编译器将一个Hive QL转换操作符

 操作符是Hive的最小的处理单元

– 每个操作符代表HDFS的一个操作或者一道MapReduce作业

Operator

– Operator都是hive定义的一个处理过程

– Operator都定义有:

– protected List <Operator Serializable >> childOper

ators;

– protected List <Operator Serializable >> parentOp

erators;

– protected boolean done; // 初始化值为false

ANTLR词法语法分析工具解析hql

Hive的三种模式

1、local模式

此模式连接到一个In-memory 的数据库Derby,一般用于Unit Test。

2、Hive单用户模式

单用户模式。通过网络连接到一个数据库中,是最经常使用到的模式。

3、Hive多用户模式

远程服务器模式。用于非Java客户端访问元数据库,在服务器端启动MetaStoreServer,客户端利用Thrift协议通过MetaStoreServer访问元数据库。

上一篇 下一篇

猜你喜欢

热点阅读