Hive入门指南中文翻译(一)

1,382 阅读2分钟

Hive是什么

它是一种数据仓库工具。

Apache Hive™数据仓库软件,它通过使用SQL来读取,写入和管理驻留在分布式存储中的大型数据集。可以将结构投影到已经存储的数据上。通过提供了命令行工具和JDBC驱动程序,来连接用户到Hive。

官网地址:hive.apache.org/

下载安装

下载地址:mirrors.tuna.tsinghua.edu.cn/apache/hive…

版本要求

Java 1.7+

hivejava
1.2Java 1.7+,推荐Java 1.8
0.14 to 1.1Java 1.6

注意:

Hive 1.2之前版本需要Java 1.7或更新版本。Hive版本0.14到1.1也可以与Java 1.6一起工作。强烈建议用户开始迁移到Java 1.8(参见HIVE-8607)。

Hadoop 2.x(首选),1.x(不被Hive 2.0.0支持)。

高达0.13的Hive版本也支持Hadoop 0.20.x, 0.23.x。

Hive通常用于Linux和Windows环境的生产中。Mac是一种常用的开发环境。本文档中的说明适用于Linux和Mac。在Windows上使用它需要稍微不同的步骤。

通过下载稳定版本安装


$ tar -xzvf hive-x.y.z.tar.gz$ cd hive-x.y.z$ export HIVE_HOME={{pwd}}$ export PATH=$HIVE_HOME/bin:$PATH

通过编译源代码安装

从主分支上编译

 $ git clone https://git-wip-us.apache.org/repos/asf/hive.git $ cd hive $ mvn clean package -Pdist [-DskipTests -Dmaven.javadoc.skip=true] $ cd packaging/target/apache-hive-{version}-SNAPSHOT-bin/apache-hive-{version}-SNAPSHOT-bin $ ls  LICENSE  NOTICE  README.txt  RELEASE_NOTES.txt  bin/ (all the shell scripts)  lib/ (required jar files)  conf/ (configuration files)  examples/ (sample input and query files)  hcatalog / (hcatalog installation)  scripts / (upgrade scripts for hive-metastore)

branch-1,Hive 支持Hadoop 1.x 和2.x。你需要通过maven profile指定选择哪个hadoop版本。

针对Hadoop 1.x使用 hadoop-1配置文件

针对Hadoop 2.x 使用 hadoop-2配置文件

$ mvn clean package -Phadoop-1,dist

在Hadoop 0.20上编译0.13之前的Hive

在Hive 0.13之前,Hive是使用Apache Ant构建的。在Hadoop 0.20上构建一个旧版本的Hive:

 $ svn co http://svn.apache.org/repos/asf/hive/branches/branch-{version} hive $ cd hive $ ant clean package $ cd build/dist # ls  LICENSE  NOTICE  README.txt  RELEASE_NOTES.txt  bin/ (all the shell scripts)  lib/ (required jar files)  conf/ (configuration files)  examples/ (sample input and query files)  hcatalog / (hcatalog installation)  scripts / (upgrade scripts for hive-metastore)

如果使用Ant,我们将build/dist作为安装目录

在Hadoop 0.23上编译0.13之前的Hive

要在Ant中构建针对Hadoop 0.23、2.0.0或其他版本,要使用适当的标志构建;一些例子如下:

  $ ant clean package -Dhadoop.version=0.23.3 -Dhadoop-0.23.version=0.23.3 -Dhadoop.mr.rev=23  $ ant clean package -Dhadoop.version=2.0.0-alpha -Dhadoop-0.23.version=2.0.0-alpha -Dhadoop.mr.rev=23

运行hive

Hive使用Hadoop,所以:

  • 您的路径中必须有Hadoop

  • export HADOOP_HOME = <hadoop-install-dir>

另外,你在hive中创建一个表之前,必须使用下面的HDFS命令创建/tmp和/user/hive/warehouse(又名hive.metastore.warehouse.dir)目录,并设置它们chmod g+w。

  $ $HADOOP_HOME/bin/hadoop fs -mkdir       /tmp  $ $HADOOP_HOME/bin/hadoop fs -mkdir       /user/hive/warehouse  $ $HADOOP_HOME/bin/hadoop fs -chmod g+w   /tmp  $ $HADOOP_HOME/bin/hadoop fs -chmod g+w   /user/hive/warehouse

你会发现他很有用,虽然它不是必须的,设置HIVE_HOME如下:

$ export HIVE_HOME=<hive-install-dir>

运行hive 命令客户端

  $ $HIVE_HOME/bin/hive

运行HiveServer2 和Beeline

从Hive 2.1开始,我们需要运行下面的schematool命令作为初始化步骤。例如,我们可以使用“derby”作为db类型。

 $ $HIVE_HOME/bin/schematool -dbType <db type> -initSchema

HiveServer2 有自己的命令客户端,叫做:Beeline。HiveCLI现在被Beeline取代,因为它缺乏HiveServer2的多用户、安全性和其他功能。直接从shell中运行HiveServer2:

$ $HIVE_HOME/bin/hiveserver2$ $HIVE_HOME/bin/beeline -u jdbc:hive2://$HS2_HOST:$HS2_PORT

Beeline由HiveServer2的JDBC URL启动,该URL取决于启动HiveServer2的地址和端口。默认情况下,它是(localhost:10000),因此地址看起来像jdbc:hive2://localhost:10000。

或为了测试目的,在相同的过程中启动Beeline和HiveServer2,以获得与HiveCLI类似的用户体验:

 $ $HIVE_HOME/bin/beeline -u jdbc:hive2://

运行HCatalog

在Hive释放0.11.0和以后,从shell上运行HCatalog服务器:

  $ $HIVE_HOME/hcatalog/sbin/hcat_server.sh

在Hive release 0.11.0和更高版本,使用HCatalog命令行接口(CLI):

 $ $HIVE_HOME/hcatalog/bin/hcat

运行WebHCat

在Hive release 0.11.0和更高版本,,从shell上运行WebHCat 服务器:

 $ $HIVE_HOME/hcatalog/sbin/webhcat_server.sh


参考文章:

blog.csdn.net/lemonZhaoTa…

hive cli :cwiki.apache.org/confluence/…

hiveserver2:cwiki.apache.org/confluence/…