Hive环境搭建与入门

原文地址:http://www.jiacheo.org/blog/126

 

一、概述
hive是一个基于hadoop的数据仓库基础设施, 提供数据的提取转换加载和查询, 不适于少数据量(比如几亿)的数据查询, 也不适于实时或者在线数据的查询, 是一个非实时的, 离线的数据查询工具. hive没有自己的文件格式, 只需要普通的文件格式或者用户自定义的格式就可以了.

二、环境搭建

hive不需要神马集群配置, 只是需要编译一个环境就好了, 编译的过程, 国人表示很蛋疼, 因为他的ant脚本中, 使用的镜像居然是facebook的, 墙了都没用表示很纠结. 所以需要把facebook的镜像改为可用的(最好是国内的, 诸如 人人网, 北京交通大学等等镜像), 镜像的选择可以根据个人喜好和地理位置自由选取, 当然是不能被GFW墙了的.(参考http://www.apache.org/dyn/closer.cgi/hadoop/core/)
1. 下载源代码: svn co http://svn.apache.org/repos/asf/hive/trunk hive

2. 安装ant, 过程简单, 略去 (只要解压就行了)
3. 修改 hive/build.properties 文件, 将
a). hadoop.mirror的值修改为人人网镜像 : hadoop.mirror=http://labs.renren.com/apache-mirror
b). hadoop.security.url的值修改为可用的地址, 在网上找了个: hadoop.security.url=http://people.apache.org/~todd/snapshot-for-hive-build/hadoop-0.20.3-CDH3-SNAPSHOT.tar.gz
(这个东东不是一般的镜像能有的,囧)
c). 将hadoop的版本修改为0.20.2, (貌似0.20.0的地址都不可用了, 难道有大bug?): hadoop.version=0.20.2
4. 修改hive/shims/ 下的ivy.xml 和 build.xml
将对应的hadoop的版本修改为 0.20.2
a) ivy.xml

?
1
 

b) build.xml
(line 61)

?
1
< param name = "hadoop.version.ant-internal" value = "0.20.2" />

5. 编译
进入源代码的根目录hive, 敲下命令: $ant_home/bin/ant package
等待完成… (下载时间可能会有点久, 给点耐心吧).
6. 启动hive, 只需要启动前将 $HADOOP_HOME设置为hadoop的安装目录即可.

 

三、用法和例子

1, 创建表

?
1
2
3
4
5
6
CREATE TABLE page_view(viewTime INT , userid BIGINT ,
page_url STRING, referrer_url STRING,
ip STRING COMMENT 'IP Address of the User' )
COMMENT 'This is the page view table'
PARTITIONED BY (dt STRING, country STRING)
STORED AS SEQUENCEFILE;

partitioned by 是创建分区(什么是分区?下边说明)
没有指定字段分隔符的话, 默认是使用^A(ctrl-A)为字段分隔符, 换行为记录分隔符. 指定分隔符用ROW FORMAT row_format 语句

分区: partitioned by , 其实就是在数据的目录下, 用不同目录来区分, 比如, dt, 就是按日期(date)来区分, country 国家, hour 小时等等.对应的会在数据的目录下有分区目录. 可以建双分区, 就是子目录下再分区(其实就是一棵目录树).

参考: http://blog.csdn.net/dajuezhao/archive/2010/07/21/5753055.aspx

高级用法:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值