Hive简介

Hive是一种数据仓库,是用SQL语句来读写,管理存储在分布式系统上的数据集。

简单的理解就是:hive是一种将sql语句转换成MR作业的工具

举例:

​在编写MR程序WordCount时,我们写了大量的代码,然后打成jar包,上传集群之后,在执行,最后才统计出各个单词出现的次数,其流程如下图所示:


1.png

这些操作在hive中只要一条分组统计语句就能完成:
​select word,count(*) from words group by word;
使用之前需要创建表,并且将原始数据上传到指定的表中。

hadoop jar xxx.jar wordcount 输入文件 输出文件
在MR程序中,我们可以手动指定输入文件和输出结果的路径,在hive中,表中的数据就是输入文件,也就是存放在HDFS上的文件,输出结果通常也是保存在一张表中,当然也是在HDFS上,也可以把结果保存在本地文件系统上。

在hive中,库名,表名,分区名,在HDFS上都表现为带有层级关系的目录。这些路径通过关系型数据库实现元数据与数据的关联。
(关系型数据库中存放hive创建的库名,表名,分区名所指向的HDFS上的某个路径,而数据就是存储在这些路径之下)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容