2014-6-14
Apache Hive是建立在Hadoop基础上的数据仓库,为开发人员/使用人员提供了类似SQL的命令行接口。Hive本质上是就在HDFS和MapReduce之上进行了抽象,也就是说Hive的SQL语句会被转换成MapReduce任务,其处理的数据一般放在HDFS中。
如何在单机上为Hadoop配置伪分布式,请参考 Hadoop1.2配置伪分布式。
Hive官网在这里。 在hive下载apache-hive-0.13.1-bin.tar.gz,解压后,更名为hive-0.13.1,放在~/
下。
设置HIVE_HOME
在/etc/profile
中添加以下内容:
在HDFS上建立相关目录
启动hadoop1.2:
在HDFS中建立目录/tmp,并增加组用户的写权限:
在HDFS中建立目录/user/hive/warehouse,并增加组用户的写权限:
/user/hive/warehouse
是怎么来的?在hive-0.13.1/conf/目录下有一默认配置文件的模板hive-default.xml.template
,能找到下面的内容:
而/tmp
相关的配置为:
试用Hive
方便起见,先把hive-0.13.1/bin
加入$PATH
变量中。
输入命令hive,进入命令行接口:
好了,现在我们就能使用熟悉的SQL了,当然,不可能完全相似。
创建一个user表:
查看有哪些表:
使用dfs命令查看HDFS的内容:
查看user表的结构:
插入数据:
Hive不支持行级别的插入。
建立文件user.dat,内容如下:
导入数据: