基于hive的日志数据统计实战

基于 hive 的日志数据统计实战

一、           hive 简介

        hive 是一个基于 hadoop 的开源数据仓库工具,用于存储和处理海量结构化数据。    它把海量数据存储于 hadoop 文件系统,而不是数据库,但提供了一套类数据库的数据存储和处理机制,并采用 HQL (类 SQL )语言对这些数据进行自动化管理和处理。我们可以把 hive 中海量结构化数据看成一个个的表,而实际上这些数据是分布式存储在 HDFS 中的。 Hive 经过对语句进行解析和转换,最终生成一系列基于 hadoop map/reduce 任务,通过执行这些任务完成数据处理

        Hive 诞生于 facebook 的日志分析需求,面对海量的结构化数据, hive 以较低的成本完成了以往需要大规模数据库才能完成的任务,并且学习门槛相对较低,应用开发灵活而高效。

        Hive 2009.4.29 发布第一个官方稳定版 0.3.0 至今,不过一年的时间,正在慢慢完善,网上能找到的相关资料相当少,尤其中文资料更少,本文结合业务对 hive 的应用做了一些探索,并把这些经验做一个总结,所谓前车之鉴,希望读者能少走一些弯路。

        Hive 的官方 wiki 请参考这里 :

        http://wiki.apache.org/hadoop/Hive

        官方主页在这里:

        http://hadoop.apache.org/hive/

        hive-0.5.0 源码包和二进制发布包的下载地址

        http://labs.renren.com/apache-mirror/hadoop/hive/hive-0.5.0/

二、           部署

        由于 Hive 是基于 hadoop 的工具,所以 hive 的部署需要一个正常运行的 hadoop 环境。以下介绍 hive 的简单部署和应用。

        部署环境:

        操作系统: Red Hat Enterprise Linux AS release 4 (Nahant Update 7)

        Hadoop hadoop-0.20.2 ,正常运行

        部署步骤如下:

1、   下载最新版本发布包 hive-0.5.0-dev.tar.gz ,传到 hadoop namenode 节点上,解压得到 hive 目录。假设路径为: /opt/hadoop/hive-0.5.0-bin

2、   设置环境变量 HIVE_HOME ,指向 hive 根目录 /opt/hadoop/hive-0.5.0-bin 。由于 hadoop 已运行,检查环境变量 JAVA_HOME HADOOP_HOME 是否正确有效。

3、   切换到 $HIVE_HOME 目录, hive 配置默认即可,运行 bin/hive 即可启动 hive ,如果正常启动,将会出现“ hive> ”提示符。

4、   在命令提示符中输入“ show tables; ”,如果正常运行,说明已部署成功,可供使用。

常见问题:

1、        执行“ show tables; ”命令提示“ FAILED: Error in metadata: java.lang.IllegalArgumentException: URI:  does not have a scheme ”,这是由于 hive 找不到存放元数据库的数据库而导致的,修改 conf/ hive-default.xml 配置文件中的 hive.metastore.local true 即可。由于 hive 把结构化数据的元数据信息放在第三方数据库,此处设置为 true hive 将在本地创建

  • 2
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值