参考资料:https://cwiki.apache.org/confluence/display/Hive/GettingStarted
1. 安装Hadoop并启动。参考资源:
注意点:如果组建multi-node,
需要在服务期间无需密码进行SSH通讯
ssh-keygen -t rsa -P ""
cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
ssh-copy-id -i $HOME/.ssh/id_rsa.pub root@slave
如果遇到:Error: JAVA_HOME is not set则:
此外:
a) slaver侧的配置文件(core-site.xml和mapred-site.xml)需要指向master。
b) 可以通过hadoop dfsadmin -safemode leave 指令关闭safe mode。
c) Incompatible namespaceIDs问题可以通过修改DataNode里的namespaceID来解决(教程中Workaround 2方法貌似是可行的)
2. 安装Hive.
$ tar -xzvf hive-x.y.z.tar.gz
$ cd hive-x.y.z
$ export HIVE_HOME={{pwd}}
$ export PATH=$HIVE_HOME/bin:$PATH
3. HDFS中创建Hive所需文件夹
$ $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
4. 启动Hive
$ export HIVE_HOME=<hive-install-dir>
$ $HIVE_HOME/bin/hive
5. 运用
我们以wordcount这个例子来说明。
进入Hive后创建表
DROP TABLE words;
CREATE TABLE words
(
word STRING,
count INT
) ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t'
LINES TERMINATED BY '\n'
STORED AS TEXTFILE;
导入Map/Reduce运行的数据:
LOAD DATA INPATH '/user/hduser/bin-output/part-r-00000' INTO TABLE words;
输入HQL进行查询:
select * from wordscount where words like 'zoo%';
另附hive和hbase的整合相关文章:
解决最新的Hive0.8不兼容hadoop1.0的问题:
https://issues.apache.org/jira/browse/HIVE-2631
?view=revision&revision=1215279