Hive学习笔记

Hive是基于Hadoop文件系统上的数据仓库架构。

Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能。

本质是将SQL转换为MapReduce程序

它为数据仓库的管理提供了许多功能:

数据ETL(抽取,转换和加载)工具

数据存储管理

大型数据集的查询与分析

定义了类SQL的语言——Hive QL

Hive的数据存储是建立在Hadoop文件系统之上的。Hive本身没有专门的数据存储格式,也不能为数据建立索引,用户可以非常自由地组织Hive中的表,只需在创建表时告诉Hive数据中的列分隔符和行分隔符就可以解析数据了。

Hive主要包括4类数据模型:表,外部表,分区,桶。

Hive中的表和数据库中的表在概念上类似,每个表在Hive中都有一个对应的存储目录。

Hive中每个分区对应数据库中相应分区列的一个索引,但分区的组织方式和传统关系型数据库不同。在Hive中,表中的一个分区对应表下的一个目录,所有分区的数据都存储在对应目录中。

Hive的特点

•可扩展

  Hive可以自由的扩展集群的规模,一般情况下不需要重启服务

•延展性

  Hive支持用户自定义函数,用户可以根据自己的需求来实现自己的函数

•容错

  良好的容错性,节点出现问题SQL仍可完成执行

时间: 2024-08-05 02:35:44

Hive学习笔记的相关文章

hive 学习笔记精简

创建表: drop table t create table if not exists t (t string) partitioned by (log_date string) row format delimited fields terminated by '\t' lines terminated by '\n' create table t1 like t create table t2 as select * from t //如果加多余的字段或者加group by等关键字会报错

Hive学习笔记(一)

摘要: Hive 是建立在 Hadoop 上的数据仓库基础构架.它提供了一系列的工具,可以用来进行数据提取转化加载(ETL),这是一种可以存储.查询和分析存储在 Hadoop 中的大规模数据的机制.Hive 定义了简单的类 SQL 查询语言,称为 QL,它允许熟悉 SQL 的用户查询数据.同时,这个语言也允许熟悉 MapReduce 开发者的开发自定义的 mapper 和 reducer 来处理内建的 mapper 和 reducer 无法完成的复杂的分析工作.1. HIVE结构 Hive 是建

Hive学习笔记(三)

分区和桶: hive把表组织成分区,这是一种根据分区列的值进行粗略划分的机制.使用分区可以加快数据分片的查询速度. 表或分区可以进一步划分为桶,它会为数据提供额外的数据结构从而获得更高效的查询处理.比如:根据用户ID来划分桶,我们可以在所有用户集合的随机样本上快速计算基于用户的查询. 分区: 分区是在创建表时用PARTITIONED BY子句进行定义.该子句需要定义列的列表. create table logs(ts String,line String ) PARTITIONED BY(dt

Hive学习笔记(二)

类型转换 hive原子数据类型可以进行隐式数据类型转换,如果某个表达式使用INT,那么TINYINT会转化为INT,hive不会进行反向转换,除非使用cast才操作. 数据类型转化规则: 任何整数类型都会转换为范围更广的类型. 所有整数类型.FLOAT.STRING类型都能隐式转换为double类型. TINYINT.SMALLINY.INT都可以转换为FLOAT BLOOEAN 不能转换为任何其他数据类型 cast进行显式数据类型转换: eg:CAST('1',AS INT) 将字符串'1'转

Hive学习笔记——保存select结果,Join,多重插入

1. 保存select查询结果的几种方式: 1.将查询结果保存到一张新的hive表中 create table t_tmp as select * from t_p; 2.将查询结果保存到一张已经存在的hive表中(用load的时候,可以是into或者overwrite into,这里是into或者overwrite) insert into/overwrite table t_tmp select * from t_p; 3.将查询结果保存到指定的文件目录(可以是本地,也可以是hdfs) in

hive学习笔记-数据操作

hive数据操作 hive命令行操作 hive -d --define <key=value> 定义一个key-value可以在命令行中使用 hive -d database <databasename>    指定使用的数据库 hive -e "hql"    不需要进入cli执行hql语句,可以在脚本中使用 hive -f fileName 将hql放到一个file文件中执行,sql语句来自file文件 hive -h hostname 访问主机,通过主机的

Hive学习笔记——CRUD

1.首先需要安装Hadoop和Hive Hadoop和Hive的own和grp都是Hadoop Hive的安装很简单,在清华镜像站下载Hive的二进制文件,然后解压到/usr/local目录下 修改own和grp就行 2.启动hive之前需要先启动Hadoop,启动后显示 hive>

Hive学习笔记:基础语法

Hive基础语法 1.创建表 – 用户表 CREATE [EXTERNAL外部表] TABLE [IF NOT EXISTS 是否存在] HUserInfo ( userid int comment ‘用户Id’, username string comment ‘用户名称’, userpwd string comment ‘用户密码’, createtime string comment ‘创建时间’ ) comment ‘用户信息表’ row format delimited fileds

hive学习笔记-表操作

Hive数据类型 基本数据类型 tinyint,smallint,int,biging,float,double,decimal,char,varchar,string,binary,boolean,timestamp,date, 引用数据类型 Array:同样数据类型组合的数组,使用array[1]訪问 MAP:Key-value键值对,通过键进行訪问,使用map['key']訪问 STRUCT:结构体类型,用来存储不同数据类型的数据,是用struct.key訪问 类型不区分大写和小写 Hiv