第十次课
Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张表,并提供类SQL查询功能。
本质是:将HQL转化成MAPReduce程序
1)Hive处理的数据存储在HDFS
2)Hive分析数据底层的实现是MapReduce
3)执行程序运行在Yarn上
Hive的执行过程:
Hive通过给用户提供的一系列交互接口,接受到用户的指令(SQL),使用自己的Driver。结合元数据(MetaStore),将这些指令翻译成MAPReduce,
提交到Hadoop中执行,最后,将执行返回的结果输出到用户交互接口
数据仓库和数据库的区别:
1.Hive 是建立在 Hadoop 之上的,所有 Hive 的数据都是存储在 HDFS 中的。而数据库则可以将数据保存在块设备或者本地文件系统中。
2.数据仓库的内容是读多写少的,数据库中的数据通常是需要经常进行修改的。
3.数据库通过建立索引来加快查询速度,Hive要访问数据中满足条件的特定值时,需要暴力扫描整个数据,因此访问延迟较高。由于 MapReduce 的引入, Hive 可以并行访问数据
将本地文件转换成Hive表中的数据:
load data local inpath '/opt/software/student.txt' into table student;
Hive中的数据类型:
Hive数据类型 Java数据类型
TINYINT byte
SMALINT short
INT int
BIGINT long
BOOLEAN boolean
FLOAT float
DOUBLE double
STRING string