1.下载Hive
http://hive.apache.org/downloads.html
从该网址下载hive。我下载的是hive-2.1.0版本
之后用tar命令解压,我是解压到/usr/local/hadoop目录下。
2.配置环境变量
进入.bashrc 修改hive环境变量。
vim ~/.bashrc
在最后加入:
export HIVE_HOME=/usr/local/hadoop/apache-hive-2.1.0-bin
export PATH=$HIVE_HOME/bin:$PATH
3.在HDFS上创建Hive文件目录
先开启hadoop
$ $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
5.启动Hive Shell
启动前初始元数据的存储数据库(这里用derby,也可以用mysql,但需配置)
schematool -dbType derby -initSchema
然后再用hive或hive shell 打开hive操作界面。
6.HiveSQL操作简介
1.1 DDL语句
创建表pokes,有两类属性foo(int型),和bar(string型):
hive> CREATE TABLE pokes (foo INT, bar STRING);
创建表invites,通过ds属性来做分区:
hive> CREATE TABLE invites (foo INT, bar STRING) PARTITIONED BY (ds STRING);
显示已经有的所以表:
hive> SHOW TABLES;
OK
invites
pokes
Time taken:0.159 seconds,Fetched:2 row(s)
显示已S结尾的表:
hive> SHOW TABLES '.*s';
显示表invites的信息:
chive> desc invites;
OK
foo int
bar string
ds string
# Partition Information
# col_name data_type comment
ds string
Time taken: 0.171 seconds, Fetched: 8 row(s)
给pokes表添加新列:
hive> ALTER TABLE pokes ADD COLUMNS (new_col INT);
更多详细内容见:
https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL
6.2 DML语句
加载数据
hive> LOAD DATA LOCAL INPATH './examples/files/kv1.txt' OVERWRITE INTO TABLE pokes;
更多详细内容见:
https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DML
6.3 SELECT查询语句
hive> SELECT a.foo FROM invites a WHERE a.ds='2008-08-15';
更多详细内容见:
https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Select
7HiveSQL实验
还是来做个小实验把。更多内容见官网实验例子:
https://cwiki.apache.org/confluence/display/Hive/GettingStarted#GettingStarted-DDLOperations
8.Hive JDBC编程接口
参见下链接:
Hive编写MapReduce程序(这里笔者还没有实验过)
http://blog.youkuaiyun.com/magina507/article/details/51649890