基于Hadoop+Hive架构对海量数据进行查询

参考资料:https://cwiki.apache.org/confluence/display/Hive/GettingStarted

1. 安装Hadoop并启动。参考资源:

    single-node :http://www.michael-noll.com/tutorials/running-hadoop-on-ubuntu-linux-single-node-cluster/

    multi-node:http://www.michael-noll.com/tutorials/running-hadoop-on-ubuntu-linux-multi-node-cluster/

注意点:如果组建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则:

http://hi.baidu.com/tdfrank/blog/item/fa55a597b26c197e55fb969b.html


此外:

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 words where word like 'zoo%';


另附hive和hbase的整合相关文章:

http://simpleframework.net/blog/v/13164.html

http://jiedushi.blog.51cto.com/673653/608371


解决最新的Hive0.8不兼容hadoop1.0的问题:

https://issues.apache.org/jira/browse/HIVE-2631

http://svn.apache.org/viewvc?view=revision&revision=1215279


  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值