Hive简介
来源:互联网 发布:魔兽世界7.0数据库 编辑:程序博客网 时间:2024/05/18 10:56
Hive简介
1、hive基本概念
hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。
其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。
Hive可以在HDFS上构建数据仓库来存储结构化的数据,这些数据来源于HDFS上的原始数据,hive提供了类似于SQL的查询语言HiveQL,可以执行查询、变换数据等操作。通过解析,HiveQL语句在底层被转换为相应的MapReduce操作。
它还提供了一系列的工具进行数据提取转化加载,用来存储、查询和分析存储在Hadoop中的大规模数据集,并支持UDF、UDAF和UDTF,也可以实现对map和reduce函数的定制,为数据操作提供了良好的伸缩性和可扩展性。
hive是Facebook的信息平台的重要组成部分,Facebook在2008年将其贡献给Apache,现已成为Apache旗下的一个独立的子项目。
2、hive的组成
hive包括用户接口、元数据库、解析器和数据仓库等组件。
hive 包括如下相关组件:
(1) 用户接口:包括 hive shell、Thrift客户端、Web管理
(2) Thrift服务器:当hive以服务器模式运行时,可以作为Thrift服务器,供客户端连接。
(3) 元数据库:通常存储在关系型数据库 MySQL、Derby中。
(4) 解析器:包括编辑器、编译器、优化器、执行器,通过这一系列的处理对HiveQL查询语句的词法分析、语法分析、编译、优化以及查询计划的生成。查询计划由MapReduce调用执行。
(5) Hadoop:数据仓库和查询计划存储在HDFS上,计算过程由MapReduce执行。
图2.1 hive的体系结构
3、hive的数据存储
hive提供了基本(原子)数据类型和复杂数据类型,复杂数据类型是Java语言所不具有的。
3.1、基本(原子)数据类型
基本(原子)数据类型包括数据值、布尔类型和字符串类型
基本数据类型
类型
描述
示例
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
字符串
‘xia’,”xia”
hive不支持日期类型,在hive里日期都是用字符串来表示的,而常用的日期格式转化操作则是通过自定义函数进行操作。
hive是用Java开发的,hive里的基本数据类型和Java的基本数据类型也是一一对应的,除了String类型,有符号的整数类型:TINYINT、SMALLINT、INT和BIGINT分别等价于Java的byte、short、int和long原子类型,它们分别为1字节、2字节、4字节和8字节有符号数。hive的浮点数据类型FLOAT和DOUBLE,对应与Java的基本数据类型float和double类型。而hive的BOOLEAT类型相当于Java的基本数据类型boolean。
对于hive的String类型相当于数据库的varchar类型,该类型是一个可变的字符串,不过它不能声明其中最多能存储多少个字符,理论上它可以存储2GB的字符数。
3.2、复杂数据类型
复杂数据类型包括数组(ARRAY)、映射(MAP)和结构体(STRUCT)
复杂数据类型
类型
描述
示例
ARRAY
一组有序字段。字段的类型必须相同
Array(1,2)
MAP
一组无序的键/值对。键的类型必须是原子的,值可以是任何类型,同一个映射的键的类型必须相同,值得类型也必须相同
Map(‘a’,1,’b’,2)
STRUCT
一组命名的字段。字段类型可以不同
Struct(‘a’,1,1,0)
3.3、类型转换
Hive支持基本类型的转换,低字节的基本类型可以转化为高字节的类型,例如TINYINT、SMALLINT、INT可以转化为FLOAT,而所有的整数类型、FLOAT以及STRING类型可以转化为DOUBLE类型,这些转化可以从Java语言的类型转化考虑,因为hive就是用Java编写的。当然也支持高字节类型转化为低字节类型,这就需要使用hive的自定义函数CAST了。
4、hive版本下载
4.1 hive所有版本下载地址
http://archive.apache.org/dist/hive/
最新版本 hive-0.13.1
4.2 hive官网下载地址
http://apache.petsads.us/hive/
5、apache-hive-0.13.1-bin.tar.gz解压后的目录
6、Hive配置文件介绍
•hive-site.xml hive的配置文件
•hive-env.sh hive的运行环境文件
•hive-default.xml.template 默认模板
•hive-env.sh.template hive-env.sh默认配置
•hive-exec-log4j.properties.template exec默认配置
•hive-log4j.properties.template log默认配置
- Hive简介
- Hive简介
- Hive简介
- HIVE简介
- Hive简介
- Hive - 简介
- Hive简介
- Hive简介
- Hive简介
- hive简介
- Hive简介
- hive简介
- HIVE 简介
- Hive简介
- Hive简介
- hive简介
- Hive简介
- Hive简介
- Android_完美退出应用方法
- 【转】分布式集群系统下的高可用session解决方案
- opencv2.49+vs2010的配置出现1>LINK : fatal error LNK1104: 无法打开文件“…….lib”解决方案
- 小波变换 opencv
- 《数据结构》实验1.1 java 中的运用
- Hive简介
- Java没有头文件的原因
- 一个简单的日历的实现
- Codeforces 468A 24 Game(构造)
- 在iframe里点击超链接
- POJ Check the difficulty of problems-概率&DP
- 『IOS』No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=arm64
- UIButton不响应原因总结
- gcc 编译选项