1.Hive简介
1.1Hive概述
Apache Hive是一个构建于Hadoop顶层的数据仓库,可以将结构化的数据文件映射为一张数据库表,并提供简单的SQL查询功能,可以将SQL语句转换为MapReduce任务进行运行。需要注意的是,Hive它并不是数据库。
Hive依赖于HDFS和MapReduce,其对HDFS的操作类似于SQL,我们称之为HQL,它提供了丰富的SQL查询方式来分析存储在HDFS中的数据。HQL可以编译转为MapReduce作业,完成查询、汇总、分析数据等工作。这样一来,即使不熟悉MapReduce 的用户也可以很方便地利用SQL 语言查询、汇总、分析数据。而MapReduce开发人员可以把己写的mapper 和reducer 作为插件来支持Hive 做更复杂的数据分析。说到这里,你可能会对Hive和HBase之间的关系产生疑问?在不熟悉它们的作用之前,我们有这样的疑问是很正常的。我们知道HBase是一个NoSQL数据库,它可以进行海量数据存储,他可以将一些数据查询工作转换为MapReduce任务进行运作,HBase非常适用于大数据实时查询,它的查询效率非常高。而Hive适合于对一段时间内的数据进行分析查询,例如:趋势分析、日志分析等,虽然Hive也能够进行数据实时查询,但是它在这方面表现的很糟糕,它需要很长时间才可以返回结果,这并不是它所擅长的。Hive分析的数据可以来自于HDFS,也可以来自于HBase,你可以认为HBase是一个DB,而Hive是一个Tool。它们经常是在一起互相协作来完成一些工作的。
1.2Hive的特点
1. 通过HQL语言非常容易的完成数据提取、转换和加载(ETL)。
2. 通过HQL完成海量结构化数据分析。
3. 灵活的数据存储格式,支持JSON,CSV,TEXTFILE,RCFILE,ORCFILE,SEQUENCEFILE等存储格式,并支持自定义扩展。
4. 多种客户端连接方式,支持JDBC、Thrift等接口。
1.3Hive的架构
2.Hive的安装与配置
1.下载hive安装包apache-hive-1.2.1-bin.tar.gz
2.解压安装包,并移动到要安装的路径下
sudo tar -zxvf apache-hive-1.2.1-bin.tar.gz
sudo mv -r hive1.2.1 /usr/local/
3.将元数据管理配置为mysql。