7.HADOOP组件HIVE

我们知道如果对HDFS数据进行分析,需要写map函数和reduce函数,但是不是每个人都会java,所以hive的出现就是为了解决这个问题的

Hive的设计目的是让精通SQL技能(但java编程基础很弱)的分析师能够对facebook存放在HDFS上中的大规模数据进行查询。
Hive把SQL查询转换为一系列在Hadoop集群上的运行的mapreduce作业。
Hive把数据组织为表,通过这种方式为存储在HDFS的数据赋予结构
这种SQL叫做HQL,hive的设计在很大程度上深受mysql的影响,因此如果你熟悉mysql,就会感觉hive很亲切
关系数据库都是为实时查询的业务进行设计的,而hive则是为海量数据做数据挖掘设计的,实时性很差;实时性的区别导致hive的应用场景和关系数据库有很大的不同;

7.HADOOP组件HIVE_第1张图片
CDH版HADOOP安装过程中HIVE组件截图
7.HADOOP组件HIVE_第2张图片
HIVE组件

HIVE组件说明:

  • metastore: 元数据服务组件,存储HIVE的元数据,hive的元数据需要存储在关系型数据库里,hive支持的关系型数据库有 derby/mysql 等,元数据对hive十分重要,因此hive 支持把 metastore database 独立出来,安装到远程服务器群,并解耦hive与 metastore服务,保证了hive的壮健性,相对于独立的metastore,mysql 是metastore database一种很受欢迎的选择。

  • HIVE SERVER(Thrift server ):
    Thrift 服务是facebook 开发的一个软件框架,用来进行可扩展且跨语言的服务开发,hive集成了该服务,让不同编程语言可以调用hive接口

其他的我认为非研发人员不必关注

安装hive的过程很简单,下载好hive版本,然后解压,配置环境变量,之后你就可以启动hive了
第一次启动hive时,我们可以通过列出hive的表来检查hive是否正常工作

[root@upid-hadoop-dn18 ~]# hive
hive> show tables ;
OK
ismassetinfo
ismproinfo
ismsecuinfo
Time taken: 1.729 seconds, Fetched: 3 row(s)
对于全新安装,这个命令会花几秒钟时间来执行,因为系统采用”lazy”懒策略,所以知道你运行命令,它才会在机器上创建一个数据库(metastore数据库)

本文章只是简单的介绍hive概念及hive 主要组件,hive的具体使用方式,请见后面的搭建章节

你可能感兴趣的:(7.HADOOP组件HIVE)