Hive安装与部署

来源:互联网 发布:2017年动漫推荐知乎 编辑:程序博客网 时间:2024/04/28 21:36
Hive简介

Apache Hive是一种数据仓库,对查询和管理分布式存储中的超大数据集提供了很大帮助。Hive是基于Hadoop的,提供了以下功能:

  • 容易数据提取/转化/加载(ETL)的工具
  • 利用各种各样数据格式的结构的机制
  • 访问直接存储在HDFS或者其它存储系统(如HBase)上的文件
  • 通过MapReduce执行查询

Hive定义了简单的类似SQL的查询语言,被称为QL,该语言使熟悉SQL的使用者可以查询数据。同时,该语言允许熟悉MapReduce的程序员能够插入他们定制的Mapper和Reducer执行更加复杂的分析,这样的分析或许不被QL语言内置的功能所支持。QL还可以通过定制的标量函数(UDF’s),聚集(UDAF’s)和表函数(UDTF’s)进行扩展。

Hive不是被设计用于联机事务处理(OLTP),也不提供实时查询或者行级更新,最好被用于只追加数据(像web日志)的超大数据集上的批量作业。Hive最有价值的是可扩展性(横向扩展到更多机器,然后这些机器动态地被添加到Hadoop集群中),可扩充性(使用MapReduce框架和UDF/UDAF/UDTF),容错性和输入格式的松耦合性。

Hive的组件包括HCatalog和WebHCat。HCatalog是一个表和用于Hadoop的存储管理层,使用户可以使用不同的数据处理工具—包括Pig和MapReduce—更容易地读写网格上的数据。WebHCat提供了一种服务,使用该服务可以运行MapR(或者YARN),Pig,Hive作业或者使用HTTP接口执行Hive元数据操作。

安装部署Hive

从Hive官网下载Hive的稳定版本,比如0.11,可以从http://mirror.esocc.com/apache/hive/stable/下载。解压文件,编辑.bash_profile,设置Hive的环境变量:

[hadoop@hadoop~]$ tar -xzvf hive-0.11.0.tar.gz[hadoop@hadoop~]$ vi .bash_profile[hadoop@hadoop~]$ source .bash_profile[hadoop@hadoop~]$ echo $HIVE_HOME/home/hadoop/hive-0.11.0

运行Hive

Hive使用Hadoop,所以必须确定Hadoop在路径中(已经设置完毕),另外还必须在HDFS创建/tmp和/user/hive/warehouse(也称为hive.metastore.warehouse.dir目录,并且设置权限为g+w。在实践中,在没有创建/tmp和/user/hive/warehouse情况下,直接运行hive,并创建表,会在Hadoop上发现/tmp和/user/hive/warehouse目录,其中/tmp早就创建了,而/user/hive/warehouse是在运行hive时自动创建的。如下图所示:

或者:

[hadoop@hadoophive-0.11.0]$ hadoop fs -ls /Found 4 itemsdrwxr-xr-x   - hadoop supergroup          0 2014-01-04 10:13 /hbasedrwxr-xr-x   - hadoop supergroup          0 2013-12-20 20:23 /homedrwxr-xr-x   - hadoop supergroup          0 2014-01-04 09:11 /tmpdrwxr-xr-x   - hadoop supergroup          0 2014-04-13 22:30 /user[hadoop@hadoophive-0.11.0]$ hadoop fs -ls /user/hiveFound 1 itemsdrwxr-xr-x   - hadoop supergroup          0 2014-04-13 22:30/user/hive/warehouse

上述的工作完成后,可以直接在命令行运行命令hive启动Hive的命令行接口(CLI):

[hadoop@hadoophive-0.11.0]$ hive Logginginitialized using configuration injar:file:/home/hadoop/hive-0.11.0/lib/hive-common-0.11.0.jar!/hive-log4j.propertiesHive historyfile=/tmp/hadoop/hive_job_log_hadoop_3265@hadoop_201404132220_465469897.txt

至此完成了hive的安装和部署,而这也仅仅是第一步,后面还需要学习如何创建表,如何使用Hadoop将日志提取到hive中等等,这样才能正真发挥hive数据仓库的威力。

1 0
原创粉丝点击