认识Hive
来源:互联网 发布:好家长软件 编辑:程序博客网 时间:2024/05/21 05:18
什么是Hive:
- Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射成一张表,并提供类SQL类查询功能。
Hive的认识:
* Hive基于: 1):处理的数据储存在HDFS 2):分析数据底层的实现MapReduce 3):执行程序运行的YARN* 构建在Hadoop之上的数据仓库: 1):使用HQL作为查询借口 2):使用HDFS存储 3):使用MapReduce计算* 本质是:将HQL转换成MapReduce程序
个人理解:
就是吧结构化的数据映射成一张表,然后进行类型SQL语言的数据查询。 HQL底层的MapReduce:
把数据转换成MapReduce用的是Engine机制。
Hive架构理解认识:
用户接口:Client
CLI(hive shell) JDBC/ODBC(java访问hive),WEBUI(浏览器访问hive)
元数据:Metastore
元数据包括:表名,表所属的数据库(默认是default),表的拥有者,列/分去字段,表的类型(是否是外部表),表的 数据所在目录等。 默认存储在自带的derby数据库中,推介使用采用MySQL储存Metastore * derby是嵌入式数据库,只支持单用户
Hadoop:
使用HDFS进行存纯,使用MapReudce进行计算
驱动器:Driver:
包含: 解析器,编译器,优化器,执行器 解析器: 将Sql字符串转换成抽象语法树AST,这一步一般都用第三方工具库完成,比如antlr。对AST进行语法分析,比如表 是否存在,字段是否存在,Sql语义是否有误(比如select中被判定为集合的字段在group by中是否出现)。 编译器: 将AST编译生成逻辑执行计划 优化器: 对逻辑执行计划进行优化 执行器: 吧逻辑执行计划转换成运行的物理计划,对于HIVE来说,就是MR/TEZ/Spark
个人理解架构:
CLI就是我们写的命令行,通过JDBC这种方式访问HIVE,导入元数据,元数据储存有表名,所数据库(默认default),表的 拥有者,列明区字段,是否存在外部表,最重要的是java,驱动器。。 1):解析器; 解析sql语法,看表是否存在,字段是否存在,sql语句有没有错误, 解析hql语句 2) :编译器; 就是逻辑执行计划 把hql翻译成MapReduce 3):优化器; 然后进行优化 优化sql语句 4):执行器 运行在yarn平台之上 然后驱动器做完以后,就会用hadoop底层的的MapReduce来计算,下一步储存到HDFS,所以,HIVE就是基于hadoop之上。
Hive优点与使用场景:
操作借口与采用Sql语法,提供快速的开发的能力(简单,容易上手) 避免了去写MapReudce,减少开发人员的学习成本。 统一的元数据管理,可与impala/spark等共享元数据 易扩展(HDFS+MapReduce):可以扩展集群规模,支持自定义函数) 离线的数据处理:比如,日志分析,海量结构化数据离线分析 Hive执行延迟比较高,因此hive常用与数据分析的,对实用性要求不高的场合 Hive优势在于处理大数据,对于处理小数据没有优势,因为Hive执行延迟比较高。
阅读全文
0 0
- 认识Hive
- #Hive#Hive的一点认识
- hive学习之一:认识hive
- Hive搭建(认识Hive)
- hive简介--hive初步认识
- hive的初认识
- Hive初认识(2)
- 深入浅出认识Hive
- 对hive的初次认识
- 大数据--hive学习(1)--hive的简单认识
- 简单认识下注册表的HIVE文件格式
- 简单认识下注册表的HIVE文件格式
- Hive 之初认识以及安装
- Hadoop Hive sql语法详解1-认识hive及DDL操作
- Hadoop Hive sql语法详解1-认识hive及DDL操作
- Hadoop Hive sql语法详解1-认识hive及DDL操作(1)
- Hadoop Hive sql语法详解1-认识hive及DDL操作
- Hadoop Hive sql语法详解1-认识hive及DDL操作
- Windows下Go语言配置和LiteIDE
- 提高代码阅读能力的7种方法
- c#导出word(笔记)
- 【图像处理】MATLAB:几何变换与图像配准
- @SuppressWarnings注解用法详解(转)
- 认识Hive
- 拓扑排序应用
- MongoDB集群搭建的整理及出错整理
- k8s web terminal的实现
- Prezi Next(演示文稿制作软件)v1.6.1中文免费版下载附使用方法
- 线程简介
- linq应用
- Java基础入门笔记-使用变量并打印
- Ubuntu安装libevent(libevent-2.0.21-stable)及各种出错的解决方案