一、安装hive
从http://www.apache.org/dyn/closer.cgi/hive/中下载你所需的版本。
笔者hadoop是0.20,hive选hive-0.10.0/
export HIVE_HOME=/opt/hive-0.10.0
export PATH=$HIVE_HOME/bin:$PATH
将conf/ hive-default.xml.template复制两份,分别命名为 hive-default.xml( 用于保留默认配置 )和 hive-site.xml( 用于个性化配置,可覆盖默认配置 ),
hive.metastore.warehouse.dir:数据存放目录
hive.exec.scratchdir:临时文件目录
hive.querylog.location: hive query logs存放目录,每个session一个文件
二、启动hive:
三、安装mysql
进入MySQL控制台:
-
mysql -uroot -p
-
CREATE USER 'hive' IDENTIFIED BY 'hive';
-
GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%' WITH GRANT OPTION;
-
mysql -h localhost -u hive -p
-
create database hive
5)在Hive的conf目录下修改配置文件hive-site.xml(如果没有该文件,复制hive-default.xml并改名为hive-site.xml),配置文件修改如下,红色部分为修改内容
-
<<>property>
-
<<>name>javax.jdo.option.ConnectionURL<<>name>
-
<<>value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true<<>value>
-
<<>description>JDBC connect string for a JDBC metastore<<>description>
-
<<>property>
-
-
<<>property>
-
<<>name>javax.jdo.option.ConnectionDriverName<<>name>
-
<<>value>com.mysql.jdbc.Driver<<>value>
-
<<>description>Driver class name for a JDBC metastore<<>description>
-
<<>property>
-
-
<<>property>
-
<<>name>javax.jdo.option.ConnectionUserName<<>name>
-
<<>value>root<<>value>
-
<<>description>username to use against metastore database<<>description>
-
<<>property>
-
-
<<>property>
-
<<>name>javax.jdo.option.ConnectionPassword<<>name>
-
<<>value>root123<<>value>
-
<<>description>password to use against metastore database<<>description>
-
<<>property>
7)启动Hive shell,执行
-
show tables;
如果不报错,表明基于独立元数据库的Hive已经安装成功了。
查看一下元数据的效果。
在Hive上建立数据表
-
CREATE TABLE my(id INT,name string) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t';
-
show tables;
-
select name from my;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> show tables;
+-----------------+
| Tables_in_hive |
+-----------------+
| BUCKETING_COLS |
| COLUMNS |
| DATABASE_PARAMS |
| DBS |
| PARTITION_KEYS |
| SDS |
| SD_PARAMS |
| SEQUENCE_TABLE |
| SERDES |
| SERDE_PARAMS |
| SORT_COLS |
| TABLE_PARAMS |
| TBLS |
+-----------------+
13 rows in set (0.00 sec)
mysql> select * from TBLS;
+--------+-------------+-------+------------------+--------+-----------+-------+----------+---------------+--------------------+--------------------+
| TBL_ID | CREATE_TIME | DB_ID | LAST_ACCESS_TIME | OWNER | RETENTION | SD_ID | TBL_NAME | TBL_TYPE | VIEW_EXPANDED_TEXT | VIEW_ORIGINAL_TEXT |
+--------+-------------+-------+------------------+--------+-----------+-------+----------+---------------+--------------------+--------------------+
| 1 | 1319445990 | 1 | 0 | hadoop | 0 | 1 | my | MANAGED_TABLE | NULL | NULL |
+--------+-------------+-------+------------------+--------+-----------+-------+----------+---------------+--------------------+--------------------+
1 row in set (0.00 sec)
在TBLS中可以看到Hive表的元数据。
四、Hive web service,Hive web接口,启动方法:
https://cwiki.apache.org/confluence/display/Hive/HiveWebInterface
-
export ANT_LIB=$ANT_HOME/lib
-
hive --service hwi
该文章转载自http://www.jcoom.com/article/71