`
landyer
  • 浏览: 141907 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

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

高级用法:

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics