hive笔记一:hive基础

本文详细介绍了Hive数据仓库工具,包括其作为基于Hadoop的数据仓库的作用,提供类SQL查询功能,支持MapReduce、Tez、Spark等多种计算引擎。Hive的特性包括可扩展性、延展性和容错性。文章深入探讨了Hive的架构,如客户端(CLI、JDBC/ODBC、HWI)、元数据存储和驱动器。此外,还讲解了Hive的数据类型、数据模型(数据库、表、分区、桶)及元数据的保存方式。最后,文章对比了Hive与传统数据库的优缺点,强调了Hive在大数据分析领域的应用。
摘要由CSDN通过智能技术生成

1、hive简介

  • Hive是基于Hadoop的一个数据仓库工具
  • Hive可以将结构化的数据文件(eg:按照各字段分类的数据)映射成一张虚表,并提供类SQL查询功能
  • Hive默认计算引擎为Map Reduce,还可以使用Tez、Spark

2、hive特点

  • 可扩展:Hive可以自由的扩展集群的规模,一般情况下不需要重启服务。
  • 延展性:Hive支持用户自定义函数,用户可以根据自己需求来实现自己的函数。
  • 容错:良好的容错性,节点出现问题SQL仍可完成执行。

3、hive架构

Hive中所有的数据都存储在HDFS中,存储结构主要包括数据库、文件、表和视图

3.1、客户端Client

  • CLI:命令行接口,是最常用的一种用户接口,CLI启动时会同时启动一个Hive副本。CLI是和Hive交互的最简单也是最常用方式,只需要在一个具备完整Hive环境下的Shell终端中键入hive即可启动服务。 用户可以在CLI上输入HQL来执行创建表、更改属性以及查询等操作。不过Hive CLI不适应于高并发的生产环境,仅仅是Hive管理员的好工具。
  • JDBC/ODBC: JDBC是java database connection的规范,它定义了一系列java访问各类db的访问接口,因此hive-jdbc其实本质上是扮演一个协议转换的角色,把jdbc的标准协议转换为访问HiveServer服务的协议。hive-jdbc除了扮演网络协议转化的工作,并不承担他的工作,比如sql的合法性校验和解析,一律忽略 。ODBC是一组对数据库访问的标准AP ,它的底层实现源码是采用C/C++编写的。JDBC/ODBC都是通过hiveclient与hiveserver保持通讯的,借助thrfit rpc协议来实现交互。
  • HWI:HWI是Hive的web方为接口,提供了一种可以可以通过浏览器来访问Hive的服务

3.2、元数据(Metastore)

  • 用于存储hive的元数据, 包括表名、表所属的数据库、表的拥有者、列/分区字段、表的类型、表的数据所在目录等内容。
  • 默认存储在自带的derby数据库中,但因为derby无法实现并发,推荐使用MySQL存储Metastore
  • hive支持把metastore服务独立出来,安装到远程的服务器集群里,从而解耦hive服务和metastore服务,保证hive运行的健壮性。

3.3、驱动器:Driver

(1)解析器(SQL Parser):将SQL字符串转换成抽象语法树AST,这一步一般都用第三方工具库完成,比如antlr;对AST进行语法分析,比如表是否存在、字段是否存在、SQL语义是否有误。
(2)编译器(Physical Plan):将AST编译生成逻辑执行计划。
(3)优化器(Query Optimizer):对逻辑执行计划进行优化。
(4)执行器(Execu

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值