pig2 发表于 2014-8-2 00:06:05

about云分析discuz论坛apache日志hadoop大数据项目:hive与hbase是如何整合使用的

此篇需要具有hive、hbase整合基础,可以参考:
hive与hbase整合原理介绍
hbase0.96与hive0.12整合高可靠文档及问题总结

这里说一下项目实现的思路,此篇属于项目需求文档:数据的清洗以及导入hbase、hive准备工作



一、准备工作
首先我们启动hadoop、hbase、hive
如下图所示:

1.启动hadoop


start-dfs.sh



start-yarn.sh





2.启动hbase
start-hbase.sh





hbase shell





3.启动hive

启动服务端

hive --service metastore






启动客户端
hive




static/image/hrline/2.gif

上面准备工作完毕,下面我们开始创建表,其实也比较简单。

我们这个项目主要是对日志进行清洗,并且导入hbase、与hive中,为了避免重复导入,因此我们采用了hbase与hive整合,这样在导入hbase的同时,hive同时也导入了,避免了重复工作。那么这里的建表工作就显的比较重要。


CREATE TABLE LogTable(Key string,IpAddress string,Url string,UserBrowser string,AccressTime string) STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,Info:IpAddress,Info:Url,Info:UserBrowser,Info:AccressTime") TBLPROPERTIES ("hbase.table.name" = "LogTable");
上面分别创建了hive以及hbase对应的表LogTable
1.查看hive表show tables;
我们看到创建hive表


2.查看hbase表
list




static/image/hrline/2.gif

上图我们已经我们就实现了在插入hbase的同时hive同样能够查询得到。

这里我们小小的展示一下:

hbase(main):010:0> put 'LogTable','192.168.1.10 http://www.aboutyun.com/thread-8472-1-1.html 123','Info:IpAddress','192.168.1.10'
0 row(s) in 0.6850 seconds



static/image/hrline/2.gif


验证结果:




hbase验证



ROW COLUMN+CELL
192.168.1.10 http:// column=Info:IpAddress, timestamp=1406908690106, value=192.
www.aboutyun.com/thr 168.1.10
ead-8472-1-1.html 12
3
1 row(s) in 0.1050 seconds


上图红字部分为RowKey


hive验证:

hive> select * from logtable;
OK
192.168.1.10 http://www.aboutyun.com/thread-8472-1-1.html 123      192.168.1.10      NULL      NULL      NULL      NULL
Time taken: 3.024 seconds, Fetched: 1 row(s)
这个成功之后,我们剩下的工作就是清洗插入,然后hive只写简单的sql就能统计了










wubaozhou 发表于 2014-12-31 08:51:53

{:soso_e181:}

ewwerpm 发表于 2014-8-14 21:33:13

你们都用的什么版本集成的啊?我用的hadoop 2.2,hbase 0.96, hive0.12,按照上面的步骤做,到最后一步hive查询 显示OK,可是结果集却显示不出来。这个帖子12不兼容96说 hive 0.12和 hbase 0.96不兼容啊,是这样的吗?hive 0.12只兼容hbase 0.94,可是hbase 0.94又不兼容hadoop 2.2,
hive> select * from logtable;
OK
Failed with exception java.io.IOException:java.lang.ClassCastException: org.apache.hadoop.hbase.client.Result cannot be cast to org.apache.hadoop.io.Writable

howtodown 发表于 2014-8-15 10:40:22

ewwerpm 发表于 2014-8-14 21:33
你们都用的什么版本集成的啊?我用的hadoop 2.2,hbase 0.96, hive0.12,按照上面的步骤做,到最后一步h ...

理论上是的,这些需要做一些特殊的处理。
他们的安装过程都是差不多的。如果不熟悉,则需要按照官网的配置,这样不容易出问题。
他们的之间的对应关系,可以参考

hadoop、hbase、hive版本对应关系

lyman825726 发表于 2014-8-24 19:25:23

正是想看的。多谢分享

zhangsongjh 发表于 2014-12-24 12:43:58

很好,适合初学者,没有搭建环境而又希望了解这些产品的人。

dannyhe 发表于 2015-5-15 11:01:34

正是想看的。多谢分享

小伙425 发表于 2016-5-4 09:44:57

学习了 辛苦啦

ggggying12 发表于 2017-2-22 19:42:14

好好学习,天天向上

ggggying12 发表于 2017-2-23 17:38:53

非常感谢分享
页: [1] 2 3 4 5 6
查看完整版本: about云分析discuz论坛apache日志hadoop大数据项目:hive与hbase是如何整合使用的