- Hive的定义
(1)Hive是基于Hadoop的一个数据仓库工具。数据仓库是为了协助分析报告,支持决策,为需要业务智能的企业提供业务流程的改进和指导,从而节省时间和成本,提高质量
(2)适合数据的统计分析,可以将数据文件组成表格并具有非常完整的类SQL查询功能。主要用来访问和管理超大规模的数(据
(3)可以将结构化的数据文件映射为一张数据库表,并提供完整的SQL查询功能,可以将SQL语句转换为MapReduce任务进行运行
(4)Hive也是建立在Hadoop上的数据仓库基础构架。它提供了一系列的工具用来进行数据提取、转化、加载,并且提供了存储、查询和分析Hadoop中的大规模数据的机制 - 数据仓库与数据库的区别
(1)数据库系统可以很好地解决事务处理,实现增、删、改、查操作
(2)数据仓库则是用来做查询分析的数据库,通常不会做单条数据的插入、修改和删除。所有的数据都是在加载的过程中完成的 - Hive和关系数据库的差别
(1)存储文件的系统不同。Hive使用的Hadoop的HDFS,关系数据库使用的则是服务器本地的文件系统
(2)Hive使用的计算模型是MapReduce,关系数据库使用的则是自己设计的计算机模型
(3)关系数据库都是为实时查询的业务进行设计的,Hive是为海量数据做数据挖掘设计的(历史数据)。Hive的实时性很差
(4)Hive很容易扩展自己的存储能力和计算能力 - Hive与RDBMS的差别
(1)Hive的数据格式是由用户指定,需要指定3个属性:列分隔符(空格、\t、\x001等)行分隔符(\n)读取文件数据的方法
(2)数据加载时只是将数据内容本身复制到相应的HDFS目录中 - Hive的数据类型
类型 描述 示例
TINYINT 1字节(8位)有符号整数 1
SMALLINT 2字节(16位)有符号整数 1
INT 4字节(32位)有符号整数 1
BIGINT 8字节(64位)有符号整数 1
FLOAT 4字节(32位)单精度浮点数 1.0
DOUBLE 8字节(64位)双精度浮点数 1.0
BOOLEAN true/false true
STRING 字符串 ‘hive’或者“hive” - Hive的特点
(1)hive延迟高,适合高吞吐量,批量,海量数据处理。
(2)语法和SQL相似,学习成本低,避免去写复杂的MapReduce,缩短开发周期。
(3)Hive支持自由的扩展集群的规模,一般不需要重启服务。
(4)Hive支持自定义函数,用户可以根据自己的需求去定义函数。
(5)良好的容错性,节点出现问题,SQL仍然可以成功执行。 - 常用命令如下:
清屏 :ctrl+L或! dear 查看表结构 :desc 表名 查看数据库中的表 :show tables
查看数据库中的内置函数 :show functions 执行操作系统的命令 :!命令 执行脚本 :source sql文件
执行HQL命令 :select……from……; Hive的静默模式 :启动Hive——hive -S - 查询语言的比较
- 工作原理:
Hive本质上是一个SQL解析引擎,它将SQL语句转译成MapReduce作业并在Hadoop上执行
(1)用户通过用户接口连接Hive,发布Hive QL
(2)Hive解析查询并制定查询计划
(3)Hive将查询转换成MapReduce作业
(4)Hive在Hadoop上执行MapReduce作业 - 体现架构
Hive的体系架构如图所示,按功能主要分5大模块:用户接口、Thrift服务器、解析器、MetaStore元数据和Hadoop集群
Thrift是一种接口描述语言和二进制通讯协议,它被用来定义和创建跨语言的服务
元数据包括表名、表的列、分区及其属性、表是否为外部表等属性、表数据所在目录等 - Hive包含以下四种数据模型:内部表(Managed Table)、外部表(External Table)、分区(Partition)和桶(Bucket)。Hive中的数据存储如下图所示
Hive介绍
最新推荐文章于 2024-07-24 20:46:25 发布